Совместное использование ресурсов между сервисом и приложением в Android - PullRequest
1 голос
/ 24 февраля 2010

Код, который я пытаюсь реализовать, включает в себя сервис и приложение. Когда приложение запускается впервые, оно запускает службу, используя вызов startService (svc_name). Здесь имя SVC является намерением, указывающим на класс, который запускает сервис.

Я хочу разделить ресурс (соединение файла / сокета) между службой и приложение. Например, один пишет в файл, а другой читает от него. Я не могу получить правильную синхронизацию между службой и приложением.

Не могли бы вы дать мне знать, как этого можно достичь? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 24 февраля 2010

Если ваше приложение и служба представляют собой два независимых приложения (разные файлы .apk), вы можете посмотреть с помощью aidl. Aidl позволяет отправлять и получать сообщения между процессами.

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

http://developer.android.com/reference/android/content/SharedPreferences.html

Он может обрабатывать только простые типы, такие как Boolean, Integer, Long, Float и String.

0 голосов
/ 24 февраля 2010

Правильный способ связи с сервисом - через RPC. С RPC-библиотекой Android очень легко работать, просто посмотрите на примеры Remoting в ApiDemos.

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