NullPointerException openOrCreateDatabase

来源:互联网 发布:网络交友新时空文字 编辑:程序博客网 时间:2024/04/29 15:22

调用数据库的     SQLiteOpenHelper 的构造函数时候 报错


06-29 11:33:35.375: W/dalvikvm(1488): threadid=1: thread exiting with uncaught exception (group=0x415bdd58)06-29 11:33:35.375: E/AndroidRuntime(1488): FATAL EXCEPTION: main06-29 11:33:35.375: E/AndroidRuntime(1488): Process: a114.yangming.sqlite_4, PID: 148806-29 11:33:35.375: E/AndroidRuntime(1488): java.lang.NullPointerException 06-29 11:33:35.375: E/AndroidRuntime(1488): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:256)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)06-29 11:33:35.375: E/AndroidRuntime(1488): at a114.yangming.db.Test.<init>(Test.java:15)06-29 11:33:35.375: E/AndroidRuntime(1488): at a114.yangming.sqlite_4.MainActivity.onClick(MainActivity.java:69)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.view.View.performClick(View.java:4438)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.view.View$PerformClick.run(View.java:18424)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.os.Handler.handleCallback(Handler.java:733)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.os.Handler.dispatchMessage(Handler.java:95)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.os.Looper.loop(Looper.java:136)06-29 11:33:35.375: E/AndroidRuntime(1488): at android.app.ActivityThread.main(ActivityThread.java:5137)06-29 11:33:35.375: E/AndroidRuntime(1488): at java.lang.reflect.Method.invokeNative(Native Method)06-29 11:33:35.375: E/AndroidRuntime(1488): at java.lang.reflect.Method.invoke(Method.java:515)06-29 11:33:35.375: E/AndroidRuntime(1488): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)06-29 11:33:35.375: E/AndroidRuntime(1488): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:617)06-29 11:33:35.375: E/AndroidRuntime(1488): at dalvik.system.NativeStart.main(Native Method)



知道怎么解决了:


方法有二:
(一)<比较好>、、在这个程序一开始就创建出数据库,在之后就仅仅进行数据操作。避免了这种尴尬的局面。
(二)<不推荐、之所以说它纯粹是为了解决这个问题>
要得到 Activity 的上下文 只需要从 Activity 中调用的那个方法开始 逐层传递参数,,总会传递到你需要的那个地方的。


<龙哥威武> ——ming 2015年6月29日21:30:34

0 0