原来的DatabaseOption和DatabaseManager老是报空指针异常,是由于上下文为Application时没法经过SQLiteOpenHelper的方法getWritableDatabase获取可读写的数据库。 java
在menifest文件中初始化后能够解决该问题。即在application标签下添加name属性,并在name属性对应的包名下新建一个类继承Application。 android
<application android:name=".base.RailSetApplication" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >
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; } }