[英]NullPointerException with Android SQLiteAssetHelper
In the development of Android applications I use Android SQLiteAssetHelper . 在Android应用程序的开发中,我使用Android SQLiteAssetHelper 。 The problem is that occasionally when accessing the database I get an error to the object
NullPointerException
in object DBQuery
问题是,有时在访问数据库时,对象
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 class: 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: Sorry, null object is 'database' in DBQuery class. UDP:对不起,空对象是DBQuery类中的“数据库”。
Add Database name Like this & check that database is create or not 像这样添加数据库名称并检查是否已创建数据库
private static final String DATABASE_NAME = "Test";
data/data/YOUR_APP_PACKAGE_NAME
Location data/data/YOUR_APP_PACKAGE_NAME
位置
You have to open your data base first. 您必须先打开数据库。 Than only you can perform operation on that.
比只有您可以对此进行操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.