Задать вопрос
Konstantin18ko
@Konstantin18ko
Стоматолог

Как реализовать правильное построение интернет соединения в Android приложениях?

Начну из далека. Начал изучать java для того, чтобы написать программу для подсчёта количества используемых ампул при одном помещении (сделал как калькулятор, не стал заново придумывать велосипед).

Коллеги попросили сделать внутренний чат (не знаю чем их не устраивает Viber или What'sApp) но факт, есть факт.

Научился настраивать интернет соединение (socket). Думал сейчас зафигачу в приложение и пойду чай пить. Но тут я решил посмотреть его реализацию на Android.
Интернет соединение, как оказалось надо делать в отдельном потоке.

Сразу посыпались кучу вопросов:
Как реализовать правильно потоки? В каком потоке, что должно находиться(что должно находиться в главном, что в дочерних)?
Как сделать ping сервера (я так понял метода пинг в java нет)?
Как заставить сервер принимать несколько соединений (1 сервер и 5 клиентов на одном порту)?

P.S. Если есть русская литература буду рад, а то мои знания на уровне гугл переводчик.
P.P.S. Java учу по книге "Полное руководство" Герберт Шилдт.
  • Вопрос задан
  • 594 просмотра
Подписаться 7 Оценить Комментировать
Решения вопроса 1
@Fr0stDev1
Желательно для каждого вопроса создавать отдельную тему.

1. Для работы с интернетом надо всегда использовать НЕ main thread, иначе выскочит исключение. Android рекомендует Loader, но есть еще варианты: AsyncTask, Service со всей работой в ней. Вся работа с UI верется в main потоке, чтобы выполнить там действие (по изменение компонента UI) используйте класс Handler, метод runOnUiThread() или onSuccess у AsyncTask

2. Пинга как такогого нет, но есть решения как в документации, взято отсюда

3. Вопрос уже по серверу, а не по Android, задайте в другой категории.

Вообще полезный источник - startandroid.ru/ru/uroki.html и документация андроида
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@peacemakerv
Разработка под Android
Используйте Облачный сервис, которых сейчас много, и которые предоставляют API (по обмену данными) и подробное описание его использования.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы