我有一个AlarmManager,每天都在同一时间运行。警报的目的是在sqlite和MySQL之间同步应用程序。
问题是当我使用我的sqlite数据库时,我使用:
SQLiteDatabase db = this.getWritableDatabase();
这行给了我一个NPE可能因为这是null(因为该方法在应用程序之外调用)
我怎么能把这一行写成与上下文无关的?
在getDatabaseLocked()
的NPE是因为你通过null
为Context
到SQLiteOpenHelper
构造函数。
The Context that you are passing to the SQLiteOpenHelper constructor is null.
传递应用程序context.make一个java类并使用应用程序类扩展它并返回context.also将此类添加到应用程序标记中的清单中,如:
android:name="com.yourpkgname.yourclassname"