gpt4 book ai didi

java - Android SQLiteAssetHelper 的 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 06:19:19 24 4
gpt4 key购买 nike

在开发Android应用程序时我使用Android SQLiteAssetHelper 。问题是,偶尔在访问数据库时,我会在对象 DBQuery

中的对象 NullPointerException 中收到错误
public class DBQuery extends MyDatabase {
private static MyDatabase dataBaseHelper;

public DBQuery(Context context) {
super(context);
dataBaseHelper = new MyDatabase(context);
}

public static void closed() {
dataBaseHelper.close();
}

public static int getFDay(int year) {
Cursor cursor = database.rawQuery("SELECT offset FROM china_years WHERE year = ?",
new String[] { Integer.toString(year) });

cursor.moveToFirst();
String yearS;
try {
yearS = cursor.getString(0);
} catch (Exception e) {
yearS = "0";
e.printStackTrace();
}
cursor.close();

return Integer.parseInt(yearS);
}

/* other queries... */
}

MyDatabase 类:

public class MyDatabase extends SQLiteAssetHelper {

private static final String DATABASE_NAME = "db.sqlite";
private static final int DATABASE_VERSION = 2;
public static SQLiteDatabase database;

public MyDatabase(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);

database = getReadableDatabase();
}
}

UDP:抱歉,空对象是 DBQuery 类中的“数据库”。

最佳答案

像这样添加数据库名称并检查数据库是否已创建

 private static final String DATABASE_NAME = "Test";

数据/数据/YOUR_APP_PACKAGE_NAME 位置

关于java - Android SQLiteAssetHelper 的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14153768/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com