私は現在、EclipseでAndroidアプリを開発しています。データベースの更新中に問題が発生しました。問題は、updateFlag メソッドの呼び出し中にアプリがクラッシュすることです。updateFlag メソッドは、rowId のみに基づいて 1 つの特定の列のみを更新します。
これは、SQLiteAdapter クラスの私のデータベース構造です。
public long insert(String answer, String question, String hint, String flag, String level){
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_ANSWER, answer);
contentValues.put(KEY_QUESTION, question);
contentValues.put(KEY_HINT, hint);
contentValues.put(KEY_FLAG, flag);
contentValues.put(KEY_LEVEL, level);
return sqLiteDatabase.insert(MYDATABASE_TABLE, null, contentValues);
}
これは、SQLiteAdapter クラスの update メソッドです。
public void updateFlag(long rowId)
{
ContentValues args = new ContentValues();
args.put(KEY_FLAG, "1");
sqLiteDatabase.update(MYDATABASE_TABLE, args, KEY_ROWID + "=" + rowId, null);
}
これは、別のクラスで updateFlag メソッドを呼び出す方法です。
mySQLiteAdapterListener2 = new SQLiteAdapter(this);
mySQLiteAdapterListener2.openToWrite();
long idListener = Long.parseLong(getId);
mySQLiteAdapterListener2.updateFlag(idListener);
mySQLiteAdapterListener2.close();
私のコードの何が問題になっていますか? rowId に基づいて特定の列を正しい方法で更新する方法を知っている人はいますか?