2015-12-16 2 views
3

Я нашел демонстрацию apk для обмена мгновенными сообщениями, и внутри я нашел библиотеку TimerTask. Первоначальный разработчик использовал его для обновления списка разговоров и списка друзей.Android TimerTask для запуска http-запроса

private final int UPDATE_TIME_PERIOD = 15000; 

Мой вопрос: Является ли это хорошей практикой? Потому что 15000 его действительно не приложение.

Пример, если я отправлю сообщение сразу после запуска timertask, необходимо, чтобы приемник должен был ждать 15000 мс. Спасибо!

+0

представляют немного больше контекста вокруг этого класса и библиотеки. – harshitpthk

+0

таймер таймера; timer.schedule (новый TimerTask() { общественных недействительный запуск() { попытки { Строки tmp2 = AppService.this.getMessageList();} поймать (Exception е) { e.printStackTrace();} } }, UPDATE_TIME_PERIOD, UPDATE_TIME_PERIOD); // запускает каждые 15000ms –

+0

что такое класс AppService? – harshitpthk

ответ

1

Использование update_time_period как 15 секунд, безусловно, не очень хорошая идея. Если вы создаете приложение чата, вы должны использовать его на протоколе XMPP. Это отличается от использования протокола HttpUrlConnection для опроса сообщений. В протоколе XMPP соединение поддерживается в режиме реального времени до тех пор, пока пользователь входит в систему, поэтому вы можете представить, как пользователь открывает приложение, он устанавливает соединение и сохраняет его в живых, если он не выходит из системы и сервер может продолжать отправлять данные клиенту. так работает большинство приложений чата. Чтобы начать интегрировать эту функциональность в свое приложение и узнать больше об этом, я бы порекомендовал читать по адресу Smack и, вероятно, зарегистрировать репозиторий this.

Чтобы быстрее начать работу, вы можете проверить firebase и firebase на основе реального времени chatbased app. Firebase довольно круто.

+0

Спасибо! У меня есть сервер websocket на моем VPS! Мне нужно подключить приложение к серверу и сделать. Демо не очень хорошо. –

+0

Да с помощью гнезда может решить вашу проблему. – harshitpthk

Смежные вопросы