原来的DatabaseOption和DatabaseManager总是报空指针异常,是因为上下文为Application时无法通过SQLiteOpenHelper的方法getWritableDatabase获取可读写的数据库。
在menifest文件中初始化后可以解决该问题。即在application标签下添加name属性,并在name属性对应的包名下新建一个类继承Application。
public class RailSetApplication extends Application { private static Application mInstance; @Override public void onCreate() { super.onCreate(); mInstance = this; } public static Context getInstance() { if(null == mInstance){ mInstance = new RailSetApplication(); } Log.e("RailSetApplication", "is null "+(null == mInstance));// return mInstance.getApplicationContext(); return mInstance; }}