Обучение и трудоустройство Java-программистов от Junior до Senior

Как слушать сервер на протяжении всей работы приложения вторым потоком

 
 
 
Сообщения:2
Здравствуйте, у меня возникла проблема при создании мобильно приложения который следит и управляет датчиками через сервер.
Мне нужно слушать сервер на протяжении всей работы приложения, даже когда оно не активно (свернуто). Я пытался создавать новый соккет и не закрывая его слушать сервер и выполнять действия в зависимости от того что пришло. Но это стопает работу приложения, так как оно либо один раз считывает и идет дальше по коду, либо если я в цикл вношу то приложение висит на этом цикле и все. Я слышал что как то можно запустить второй поток который будет работать параллельно с приложением, так вот мне нужно именно это чтоб вторым потоком приложение слушало сервер все время. Еще я слышал о Servise чтобы работало даже в неактивном состоянии. Но я не смог разобраться ни в сервисе ни во втором потоке.
Пожалуйста помогите, у меня осталось 2 дня на решение этой задачи.
Буду рад любой информации.
Заранее спасибо!
 
 
Сообщения:766
Приветствую!

Ну и как вы запускаете второй поток? Код.
 
 
Сообщения:2
так я и говорю что мой код не работает, я прошу вас посоветовать что использовать, мне нужно как то использовать Service, я не знаю как. Будьте добры помочь пожалуйста.
Вообще я пытался сделать так -

в OnCreate я открывал соккет, но не закрывал его, запускал второй поток где в зависимости от того что пришло я выполнял действие. я пользовался примером - пример делает. Я новичок в разработке моб приложений, но эту проблему мне нужно решить как можно скорее, у меня защита скоро))))
 
 
Сообщения:766
Никогда, не писал приложения для андроид, на и на компе этот код будет тормозить. Вы не освобождаете поток для работы других потоков. Соответственно у вас тормоза. В цикле while после всех действий пошлите тред в спячку sleep или отдайте квант времени другим потокам yield, время спячки определите экспериментально.
Изменен:27 мая 2017 05:09
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет