レシピを追跡する Android アプリケーションを作成しています。レシピを正常に保存および取得できますが、is_favorite
値が正しく機能しません。boolean
( a がチェックされているかどうかに基づいて) 値を送信すると、関数CheckBox
に正しく送信されます。helper.insert
public Recipe insert(String name, boolean isFavorite, String servingSize, String time, String instructions)
{
ContentValues values = new ContentValues();
values.put("name", name);
values.put("is_favorite", (isFavorite) ? 1 : 0);
values.put("serving_size", servingSize);
values.put("time", time);
values.put("instructions", instructions);
long id = databaseHelper.getWritableDatabase().insert(DATABASE_TABLE, null, values);
}
を見るとvalues
、が true のis_favorite
場合は 1で、 false の場合は 0 です。これはまさに私が望むものです。isFavorite
isFavorite
しかし、作成したばかりのレシピに対して a を実行すると、実際に入力した値に関係なくhelper.getById(int id)
、列に対して常に 0 が返されます。is_favorite
これに対する私のクエリはかなり標準的です:
SELECT _id, name, is_favorite, serving_size, time, instructions FROM recipes WHERE _id = ?
これが私のテーブル作成スクリプトです:
CREATE TABLE recipes (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, is_favorite INTEGER, serving_size TEXT, time TEXT, instructions TEXT);
どんな提案でも大歓迎です。さらに情報が必要な場合は、お知らせください。
ありがとう!
更新: 返信ありがとうございます。何が問題だったのかはまだ完全にはわかりませんが、アプリを強制停止し、すべてのデータを消去し、アプリをアンインストールしてから再インストールした後、問題なく動作しました...