Активность обновления службы Android - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь создать приложение, которое будет каждый раз подключаться к удаленному серверу и получать от него объект JSON.

Когда я искал в Интернете ответ, я не смог точно понять,как настроить службу и запустить ее, пока приложение работает.

Я хочу, чтобы на моем экране main.xml был какой-то вид TextView, который будет обновляться из службы.

не удалосьгде-нибудь нашел, как создать сервис, который обновляет TextView, когда это необходимо ..

Я ищу простой пример - я новичок в разработке Android.

Ответы [ 2 ]

1 голос
/ 20 марта 2012

То, что вы должны искать - возможно, вместо службы в данном случае - это AsyncTask. Это то, что вы используете, когда вам нужно обновить пользовательский интерфейс из фона и не задерживаться в основном потоке. Вот один учебник по AsyncTask, и , вот , что должны сказать об этом документы Android SDK.

Если вам нужно делать такие вещи, как загрузка JSON с сервера, сервис может быть хорошим решением. Для обмена данными между Сервисом и Активом вы будете использовать пример Messenger и Handler. Вы можете найти пример того, как использовать шаблон мессенджера / обработчика для служб и действий в демонстрационных версиях API, включенных в SDK ( здесь ). этот ТАК также актуален.

Если вам нужно, чтобы ваша служба работала так часто, вам нужно будет использовать AlarmManager для сбора данных, их хранения где-то и затем обновить отображение в Activity (возможно, через базу данных в вашем приложении). ). Но в основном, если вам нужно быстро загрузить некоторые вещи и обновить активность, используйте AsyncTask, если вам нужно что-то более длительное, свяжите службу, а затем обменивайтесь данными между ней и деятельностью, используя пару Messenger / Handler (или AIDL). , но это сложнее ..)

0 голосов
/ 20 марта 2012

Вы можете использовать связанный сервис для достижения этого.http://developer.android.com/guide/topics/fundamentals/bound-services.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...