Android 응용 프로그램 개발시 Android SQLiteAssetHelper을 사용합니다. 문제는 그 나는 개체에서 개체 NullPointerException
에 DBQuery
NullPointerException with Android SQLiteAssetHelper
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 클래스. 데이터베이스가 위치를 먼저 데이터베이스를 열 필요가
getFDay (int year) 실행 전에 데이터베이스가 열려 있어야합니다. –
database = getReadableDatabase();로 db를 엽니 다. – bloodvlad