Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как реализовать следующие проекты

Добрый вечер!
Скажите, подскажите как реализовать следующие проекты:
1. Проект один должен уметь скачивать, парсить, собирать и выкладывать JSON файл.
2. Проект два должен скачивать картинку из интернета и открывать его.

Помогите советами или ссылками, я в этом деле новичек, но очень хочу разобраться.
Даже по сути, помогите с проектом один, так как никогда не работал с JSON.
Ответ:
Сообщение от kalder
Скажите, подскажите как реализовать следующие проекты
Сообщение от kalder
я в этом деле новичек, но очень хочу разобраться.
начни с HelloWorld
Сообщение от kalder
скачивать картинку из интернета и открывать его.
кого "его"? интернет?
Сообщение от kalder
Помогите советами или ссылками
ты забанен на гугле? что мешает набрать эти же вопросы, но на гугле и получить вагон ссылок на уроки на любом языке
Вопрос: В одном фрагменте запустить интент - во втором поймать его

Если оба фрагмента находятся в LinearLayout одного активити можно ли из одного фрагмента запустить интент а во втором поймать его? У меня не получалось, а можно это вообще?То есть если интент запустить в первом фрагменте(в методе onCreate()) а во втором в методе onResume зарегистрировать ресивер и словить этот интент?
Ответ:
Вопрос: Можно ли написать интент на приглашение в друзья или в группу фейсбука

Можно ли написать интент на приглашение в друзья или в группу фейсбука?, если да как узнать ссылку
Ответ: Valakin, facebook sdk для этого есть.
Вопрос: Распознавание речи и клавиатура - время ожидания - необычное поведение

Столкнулся с необычной проблемой. Использую распознавание речи.. То есть при нажатии кнопки открывается окно диктования и после распознавания в editText выводятся результаты. Все работает и распознает, НО говорить нужно быстро и если чуть замешкался то распознавание прерывается и в editText попадает то что успел надиктовать. Если диктовать быстро не задумываясь (без пауз) то можно диктовать большой текст. Если нажать на editText то открывается стандартная клавиатура и при нажатии на кнопку микрофона (в клавиатуре) можно диктовать хоть по одному слову с длинными паузами между словами и очень долгим ожиданием в конце. То есть идеально, НО через клавиатуру а на прямую так почему то не сделать?

Фактически вся проблема могла бы решиться использованием этих переменных

Java
1
2
3
4
i.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, Long.valueOf(10000));
 i.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS, Long.valueOf(10000));
 i.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS, Long.valueOf(10000));
   
но в их описании (насколько я понял) говорится что они могут не оказывать никакого влияния и они действительно не влияют .... их значения игнорируются.
Но в клавиатуре (проверил на двух клавиатурах) диктовка очень медленная, то есть в клавиатурах это как то реализовано.

Как сделать медленную диктовку (как в клавиатуре) по нажатию кнопки button (то есть без клавиатуры)?

Добавлено через 15 часов 9 минут
Внешне окно диктовки одинаковое что при нажатии кнопки button , что при диктовке через клавиатуру
а поведение разное...
Ответ: Все таки это два разных варианта распознавания , тот что используется в клавиатуре немного отличается и внешне но самое главное допускает диктовку с очень большими паузами. Теперь самая главная проблема как прикрутить такое же распознавание как у клавиатур к editText без использования клавиатуры
Вопрос: Ожидание подключения к серверу (ProgressDialog)

Здравствуйте! Мне нужно, чтобы при переходе на MainActivity вылазил ProgressDialog (он проверяет есть ли подключение к серверу), если подключение есть, то ProgressDialog пропадает, если подключения нету, то ProgressDialog пропадает, и вылазит AlertDialog, в котором написано: "Не удается подключится к серверу" и есть кнопка: "Попробовать еще раз", при нажатии на эту кнопку AlertDialog уходит и все идет по кругу (то есть снова вылазит ProgressDialog). Попробовал написать сам, но не получилось. Как это реализовать?
Спасибо за внимание)
Ответ: Может быть проверку соединения надо убрать из UI потока, не?
Вопрос: Теряет сеть в режиме ожидания

Здравствуйте
Проблема следующая: планшет после некоторого времени в режиме ожидания теряет сеть и просит ввести пин-код.
Может он сам перезагружается втихаря? Этот вариант не знаю как проверить, и как-то раз он такую штуку провернул во время работы (но инфа не 100%).
В начальное состояние сбрасывал, через несколько дней снова началось. Может дело в приложениях?

Версия Android 4.2.2
Версия ядра 3.4.5
Модель Andromeda S840
Ответ: Update
Даже во время работы блокируется симка, планшет не перезагружается. Видимо дело в приложениях либо каких-то настройках. Есть у кого идеи?
Вопрос: Объект, реализующий интерфейс

Добавлено через 5 минут
Есть, например, интерфейс Parcelable.Creator. В Android Studio, для того, чтобы объявить объект , реализующий данный интерфейс, используется конструкция:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
    
public static final Parcelable.Creator<MyObject> CREATOR = new Parcelable.Creator<MyObject>() {
         распаковываем объект из Parcel
   public MyObject createFromParcel(Parcel in) {
            Log.d(LOG_TAG, "createFromParcel");
            return new MyObject(in);
        }
        public MyObject[] newArray(int size) {
            return new MyObject[size];
        }
    };
Я захотел сделать по старинке-я создал класс A, который реализует интерфейс Parcelable.Creator:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
 public class A implements Parcelable.Creator<MyObject>{
 
        public MyObject createFromParcel(Parcel in) {
            Log.d(LOG_TAG, "createFromParcel");
          return new MyObject(in);
        }
        public MyObject[] newArray(int size){
            return new MyObject[size];
        }
    }
Далее я хочу объявить переменную этого класса CREATOR аналогично объявлению в первом случае:
Код Java(TM) 2 Platform Standard Edition 5.0
1
public static final  A CREATOR= new A();
Но у меня подсвечивается красным newA() и написано, что MyObject.this cannot be referenced from a static context. Объясните пожалуйста, что это значит? И почему в первом случае можно объявлять каким то образом экземпляр класса, реализующий интерфейс, при этом не указывая сам класс, а указывая лишь ссылку на него:CREATOR, а во втором случае, как учит Герберт Шилдт, нельзя? Кстати, если убрать static, то получается во втором случае. Почему в первом случае static можно указать, а во втором нельзя? Спасибо заранее, надеюсь доступно объяснил вопрос.

Добавлено через 14 минут
Если же класс A создать отдельно, не вложенным в класс MyObject, то все хорошо, почему так?

Добавлено через 6 минут
Может быть нельзя создать переменную экземпляра вложенного класса статичной?

Свел все к минимому:
почему данная конструкция не допустима?
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
package others;
 
public class Nested {
class nested2{
    
}
static nested2 a=new nested2();
}
Ответ: Mikalai, оо, я кажется всё понял! Спасибо огромное! Хочу поставить Вам еще +, но вы запретили
Вопрос: Подскажите план на прогу, как лучше написать и реализовать

Недавно посетила идея написать пока только для себя прогу с взаимодействием сайта. Собственно хочу реализовать такое. Есть сайт lostfilm tv(надеюсь не реклама). Для начала хочу что б прога загружала с ленты, последнии серии которые были переведены. Проще говоря практически перенести страницу в приложение. К концу данной задумка прикрутить push уведомления на выбранные/интересующие тебя сериалы. Вышла серия, тебя прога уведомила, когда серию переводят они сразу же туда её постят.

Теперь самое интересное, как это реализовать. Через парсер jsoup, читать определенный текст и изображения, но с картинками там все сложно, в идеале должно быть так (как я идеал представляю, но возможно я ошибаюсь) прога парсит изображения, загружает их сразу же при открытии видимый экран, далее кеширует их и при следующих открытиях смотрит если это изображение было загружено уже, то его не загружает дабы не плодить мусора (это отностится и к описанию т.к. тексту). Через парсер можно на сколько я понял, передавать ссылки на эти картинки и в дальнейшем с ними работать загружать/сохранять и т.д.
Жду ваших мыслей куда мне копать, что читать. Как с точки зрения нормальных современных прогеров это реализовать ? т.к. читал, некоторые картинки загружают в озу, она там чет переполняется, прога вылетает и.д.
Ответ:
Сообщение от mr_aleks
я про него в первом же посте упомянул
да, просто там сказано про ленту, поэтому я и показывал как парсить ленту

по ссылке из первого сообщения ведь не только переводы, там все новости
ну а так да, mysql база
Вопрос: Как можно реализовать слушатель новых сообщений?

Здравствуйте!

Я хочу понять, как можно реализовать получение новых сообщений, даже когда приложение свернуто\закрыто?

Как в любом месседжере когда кто-то отправляет мне сообщение оно тут же приходит, добавляется в ListView и отображается, вот мне интересно как они так сделали это прослушивание новых сообщений?

Неужели у них бесконечный цикл, который с задержкой пару секунд посылает запрос на сервер на наличие новых сообщений?
Как это можно реализовать, например в VkApi, у кого-нибудь есть догадки?
Ответ:
Сообщение от sanchezsanya
вот мне интересно как они так сделали это прослушивание новых сообщений?
запущен сервис, который держит открытым соединение на сервер приложения

Сообщение от sanchezsanya
А его можно прикрутить с vk api?
не нужно писать еще один кривой и хромой недоделанный клиент для vk
вас хватает, пейсателей
Вопрос: Как реализовать отслеживание изменения даты в android?

В БД есть записи которые должны в программе изменятся в зависимости от текущей даты. То есть менять позицию в ExpandableListView в зависимости от того какая сейчас дата.

Не знаю как можно реализовать отслеживание изменения даты.


Вопрос:

Как в Android можно реализовать отслеживание изменения даты??
Ответ:
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
Date date = new Date();
 
textViewInfo.setText(date.toString());
две даты надо, потом сравнить