Можно ли получить доступ к базе данных из службы? - PullRequest
4 голосов
/ 15 февраля 2012

Я хочу получить доступ к базе данных из моего сервиса, который работает в фоновом режиме. Это возможно?

Ответы [ 4 ]

3 голосов
/ 15 февраля 2012

Да, есть возможность доступа к вашей базе данных из сервиса.Для доступа к базе данных все, что вам нужно, это Context, который также доступен в сервисе.

1 голос
/ 22 декабря 2014

Да, есть возможность доступа к базе данных из службы. Все, что вам нужно сделать, это создать объект класса базы данных, который расширяет SqliteOpenHelper, передать ServiceName.this в качестве контекста или использовать класс приложения в качестве контекста.

DbHelper db = new DbHelper(ServiceClass.this);
db.performOperations();
db.close();

OR

DbHelper db = new DbHelper(YourApplicationClass.getAppContext());
db.performOperations();
db.close();
0 голосов
/ 15 февраля 2012

Да, это нормальная функциональность, которую мы используем в приложении. @ Аджай прав.

ПРИМЕР ИСПОЛЬЗОВАНИЯ

Вы можете вызвать метод, который обращается к БД из вашего класса обслуживания в потоке, который выполняется через несколько секунд.

0 голосов
/ 15 февраля 2012

Да, это возможно, и там, где это необходимо, сервис контекстного использования.

...