2012-02-15 2 views
4

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

+0

Попробуйте http://stackoverflow.com/questions/7058107/service-accessing-a-database – Ajay

+0

поэтому мой класс базы данных должен расширить SQLiteopenhelper. В противном случае служба не сможет получить к ней право? – xyzandroid

+0

да, пожалуйста, просмотрите статью http://www.vogella.de/articles/AndroidSQLite/article.html – Ajay

ответ

0

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

3

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

0

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

USE EXAMPLE

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

0

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

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

ИЛИ

DbHelper db = new DbHelper(YourApplicationClass.getAppContext()); 
db.performOperations(); 
db.close(); 
Смежные вопросы