从后台服务访问数据库
我想从SERVICE中的SQLiteDatabse访问数据。我创建了对象数据库,并试图从服务访问数据库,但它不工作。要访问onStart
服务方法中的数据库内容,我该怎么做。我搜索了很多,但通过getApplicationContext()
方法创建上下文并不适用于我。请帮助我使用代码访问SERVICE中的数据库。从后台服务访问数据库
Android Service
没有这样的方法onStart()
。您可以使用onStartCommand()
或onCreate()
。
对不起,这是一个错误。但是,你能告诉我如何从服务中检索数据库的值/更新值。 – TechHelper 2013-02-09 11:02:11
请发表一些你有的代码。 – Kristopher 2013-02-09 11:05:05
SQLiteDatabase db =(new Storage(getBaseContext())。getReadableDatabase(); \t db =(new Storage(getBaseContext())。getWritableDatabase(); – TechHelper 2013-02-09 11:08:31
你必须选择,你可以做什么。
弗里斯特选项是以下几点:
您使用永诺静态上下文(例如在MainActivity),在您存取权限永诺的DB。你可以那样做:
public static Activity thi;
的谢胜利选项是以下几点:
在您的服务,您可以拨打:
this.getApplicationContext();
有了这个背景,你也可以写进入你的分贝。
此致
狩猎
我试过像这样:db =(new Storage(this.getApplicationContext())。getReadableDatabase();同样为getWritableDatabase() rawquery()不检索数据 – TechHelper 2013-02-09 11:24:23
你能告诉我更多关于静态上下文吗?理解它。我应该在SERVICE中使用这个静态上下文吗? – TechHelper 2013-02-09 11:25:46
你可以使用它,但你不必喜欢这个你做下面的事情。首先你实例化它。 thi.getApplicationContext();它应该可以正常工作。 ;) – safari 2013-02-09 11:31:14
功能类似于db.isOpen()等的工作的罚款。但是,当我使用db.rawQuery()启动选择查询时,它不起作用。 Plz帮助我检索服务中的值。 – TechHelper 2013-02-09 15:07:46
谢谢朋友。我成功解决了这个问题。非常感谢您的帮助。 – TechHelper 2013-02-09 15:39:02
现在我又遇到了一个问题。我尝试使用rawQuery()以及db.update()和内容值发射更新查询,但仍然无法正常工作。有没有其他的方式来更新服务中的表格?谢谢 – TechHelper 2013-02-09 22:59:47