sqlite データベースの行の更新に問題があります。クラッシュすることなく実行されますが、sqlite データベース エクスプローラーで開くと、変更が反映されません。
DatabaseHandler.java
public void editContact(int contactId, String name, String relationship, String photoPath,String lifeline,String phoneNumber) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_NAME, name); // Contact Name
values.put(KEY_RELATIONSHIP, relationship); //Contact Relationship
values.put(KEY_PHOTO_PATH, photoPath); //Contact Photo File Path
values.put(KEY_LIFELINE, lifeline); // Contact Lifeline
values.put(KEY_PH_NO, phoneNumber); // Contact Phone Number
String strFilter = "_id=" + contactId;
Log.d("UserLog","newname=" + values.getAsString(KEY_NAME));
db.update(TABLE_CONTACTS, values, strFilter, null);
db.close(); // Closing database connectionString
}
次に、更新関数を別の場所で呼び出します
db.editContact(contactId2, VALUE_NAME, VALUE_RELATIONSHIP, VALUE_PHOTO_PATH, lifelineToggleds, VALUE_PH_NO);
ロギングから、すべての値が有効 (null 以外) であり、databasehandler の更新関数が呼び出されることを確認しました。しかし、何らかの理由でデータが保存されていません。