原來的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; } }