Android NullPointerException GetDatabaseLocked

Android NullPointerException GetDatabaseLocked,第1张

概述我的程序有问题.我使用数据库来保存我的应用程序的设置.当我在应用程序中保存密码时一切正常,但是当我保存“学校类”的名称时原则上使用相同的方法,但另一个表崩溃并且我收到此错误:02-1915:32:04.070:E/AndroidRuntime(14349):FATALEXCEPTION:main02-1915:32:04.070:E/

我的程序有问题.
我使用数据库来保存我的应用程序的设置.当我在应用程序中保存密码时一切正常,但是当我保存“学校类”的名称时原则上使用相同的方法,但另一个表崩溃并且我收到此错误:

02-19 15:32:04.070: E/AndroIDRuntime(14349): FATAL EXCEPTION: main02-19 15:32:04.070: E/AndroIDRuntime(14349): java.lang.NullPointerException02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.database.sqlite.sqliteOpenHelper.getDatabaseLocked(sqliteOpenHelper.java:224)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.database.sqlite.sqliteOpenHelper.getWritableDatabase(sqliteOpenHelper.java:164)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at de.vertretungsplan2.helper.DBHandler.insertKurs(DBHandler.java:95)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at de.vertretungsplan2.tabswipe.adapter.KurseFragment.onItemClick(KurseFragment.java:38)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.Widget.AdapterVIEw.performItemClick(AdapterVIEw.java:297)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.Widget.AbsListVIEw.performItemClick(AbsListVIEw.java:1100)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.Widget.AbsListVIEw$PerformClick.run(AbsListVIEw.java:2788)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.Widget.AbsListVIEw.run(AbsListVIEw.java:3463)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.os.Handler.handleCallback(Handler.java:730)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.os.Handler.dispatchMessage(Handler.java:92)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.os.Looper.loop(Looper.java:137)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at androID.app.ActivityThread.main(ActivityThread.java:5289)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at java.lang.reflect.Method.invokeNative(Native Method)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at java.lang.reflect.Method.invoke(Method.java:525)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:739)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:555)02-19 15:32:04.070: E/AndroIDRuntime(14349):    at dalvik.system.NativeStart.main(Native Method)

这是应该在数据库中写入的方法:

public voID insertKurs(String Kurs){    long rowID = -1;    try{        //open Database        sqliteDatabase db = this.getWritableDatabase();        //Content        ContentValues values = new ContentValues();        values.put(KURS_name, Kurs);        //insert Values in table         rowID = db.insert(table_name_KURS, null, values);        db.close();    }catch (sqliteException e){        Log.e(TAG,"insert()",e);    }finally{        Log.d(TAG, "insert(): rowID=" + rowID);             }}

此方法没有任何问题:

public voID insertPW(String PW){    sqliteDatabase db = null;    long rowID = -1;    try{        //open Database        db = this.getWritableDatabase();        //Content        ContentValues values = new ContentValues();        values.put(PASSWORD_name, PW);        //insert Values in table         rowID = db.insert(table_name_PW, null, values);        db.close();    }catch (sqliteException e){        Log.e(TAG,"insert()",e);    }finally{        Log.d(TAG, "insert(): rowID=" + rowID);             }}

这是调用另一个的方法:

public voID onItemClick(AdapterVIEw<?>arg0,VIEw v, int position,long ID){                               db.insertKurs(kursVIEw1.getItemAtposition(position).toString());        }    }); 

谢谢你的帮助,对不起我的英语:D

解决方法:

传递给sqliteOpenHelper构造函数的Context是null.

总结

以上是内存溢出为你收集整理的Android NullPointerException GetDatabaseLocked全部内容,希望文章能够帮你解决Android NullPointerException GetDatabaseLocked所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1102500.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存