2015-03-06 7 views
0

Я считаю, что stackoverflow невероятно полезен, но на этот раз я не могу найти точный ответ: я боюсь подобрать неправильное решение для своего дела.Повторный запрос фона во время работы приложения

Я создаю приложение, которое управляет резервированием ресторанов.

При регистрации в качестве ресторана я хотел бы иметь возможность вызывать в backgroud запрос (который наверняка у меня уже есть) периодически, который возвращает количество новых вставок резервирования в mysql db и обновляет уведомления в моей панели действий (которую я уже реализовал).

Я собирался для Handler, или IntentService, или Service, но каждый раз, когда я нашел некоторые про и минусы, и я действительно застрял.

Я бы хотел, чтобы этот запрос выполнялся каждые 1-2-3 минуты (не важно) только при запуске приложения и простой результат этого запроса (просто количество новых резервирований) в качестве вывода для обработки , чтобы показать это в моей панели действий.

Благодаря всем

Маттео

+0

Какие плюсы и минусы вы нашли? – Drux

+0

, например, риск большого количества утечки ресурсов с использованием Сервисов или тот факт, что он будет работать даже после выхода приложения. Мне просто интересно, что может быть лучшим решением для моего дела, вот и все – Bies

ответ

0

Если вы хотите выполнить запрос только тогда, когда приложение находится на переднем плане, то boundService может быть только то, что вы ищете. Используйте AsyncTask s изнутри Service, чтобы запросить БД и обновить переднюю часть Activity от Service.

EDIT:

Answering поточечно:

1. Для создания периодической Service используйте AlarmManager и PendingIntent. Для этого есть несколько примеров в сети.

2.связанныйService активен до тех пор, как Activity жив, и никогда иначе. Его можно остановить после завершения его работы. См. Ссылку выше для получения дополнительной информации.

3. Перейдите по ссылке выше и изучите несколько примеров, это станет ясно.

+0

// отредактировано ниже;) Я попробую прямо сейчас. Остальные подсказки: 1) Какой лучший способ задержать обслуживание и заставить его запускать каждые T секунд? 2) Это мой долг прекратить службу, прежде чем покинуть мое приложение? // отредактировано ниже;) 3) как я могу обновить активность переднего плана из Сервиса? Я не думаю, что я могу получить доступ к контексту активности (да, мэм, я так noob в android, будь милостив) Заранее спасибо – Bies

+0

@Bies: см. Отредактированный ответ –

+0

@Bies: где вы достигли этого? –

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