【发布时间】:2015-08-17 10:56:21
【问题描述】:
我在 getReadbleDatabase 遇到空指针异常
public List<Offer> getOffers(String offer_category)
{
db = this.getReadableDatabase();
String sql = "select * from offer_db "+TABLE_OFFER + " where "+ OFFER_CATEGORY+ " is "+ offer_category;
Cursor cur = db.rawQuery(sql,null);
cur.moveToFirst();
}
这里是 logcat 数据
引起:java.lang.NullPointerException at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224) 在 android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188) 在 com.example.shreyfrapp.DatabaseHandler.getOffers(DatabaseHandler.java:61) 在 com.example.shreyfrapp.FragmentTab1.onCreate(FragmentTab1.java:39) 在 android.app.Fragment.performCreate(Fragment.java:1678) 在 android.app.FragmentManagerImpl.moveToState(FragmentManager.java:859) 在 android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062) 在 android.app.BackStackRecord.run(BackStackRecord.java:684) 在 android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447) 在 android.app.Activity.performStart(Activity.java:5240) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 在 android.app.ActivityThread.access$800(ActivityThread.java:135) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5021) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643) 在 dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
假设 logcat 在
getDatabaseLocked()中显示 NPE,请确保您将有效的Context传递给您的 sqlite 助手。 -
当您获取 logcat 时,请查看 some SQLite Docs - 您需要在数据库 + 表名之间使用
.,并且还需要使用=而不是is与列值和字符串周围的引号进行比较 -
我已经发布了 logcat...
标签: android sqlite exception null