我有一个数据库,它具有插入、删除、更新功能。现在数据库工作正常,我为数据库添加了一些值。我像这个一样在我的飞溅活动中增加价值
foodDbHelper = new FoodDbHelper(context);
sqLiteDatabase = foodDbHelper.getWritableDatabase();
foodDbHelper.addInformations
("Paratha", "1 piece", 260, "8.99 g", "5.16 g", "2.18 g", "38.94 g");
foodDbHelper.addInformations
("Chapatti", "1 Piece", 68, "0.62 g", "2.34 g", "0.26 g", "13 g");
foodDbHelper.addInformations
("Alu Paratha", "1 Piece", 329, "6.16 g", "9.08 g", "3.9 g", "38.1 g");
foodDbHelper.addInformations
("Vegetable Biryani", "1 Cup", 170, "0 g", "4 g", "8 g", "36 g");
foodDbHelper.addInformations
("Chicken Biryani", "1 Tray", 480, "15 g", "34 g", "0 g", "51 g");
foodDbHelper.close();
当应用程序运行时,它会将数据存储在数据库中。但问题是,当我每次运行应用程序时,数据都会存储,并覆盖现有的数据。当我更新时,从数据库中删除值,并再次运行应用程序值再次存储在数据库中。当我删除或更新任何值时,再次启动应用程序,它不会将删除的值存储到数据库中。
此代码主要检查键INIT_DATA_INSERTED
是否存储在Preferences中,值为==true
该密钥标志确定是否插入了init数据,如果没有,则插入数据,并将密钥值设置为true
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
if (!prefs.getBoolean("INIT_DATA_INSERTED", false)) {
Editor editor = prefs.edit();
editor.putBoolean("INIT_DATA_INSERTED", true);
editor.commit();
foodDbHelper = new FoodDbHelper(context);
sqLiteDatabase = foodDbHelper.getWritableDatabase();
foodDbHelper.addInformations
("Paratha", "1 piece", 260, "8.99 g", "5.16 g", "2.18 g", "38.94 g");
foodDbHelper.addInformations
("Chapatti", "1 Piece", 68, "0.62 g", "2.34 g", "0.26 g", "13 g");
foodDbHelper.addInformations
("Alu Paratha", "1 Piece", 329, "6.16 g", "9.08 g", "3.9 g", "38.1 g");
foodDbHelper.addInformations
("Vegetable Biryani", "1 Cup", 170, "0 g", "4 g", "8 g", "36 g");
foodDbHelper.addInformations
("Chicken Biryani", "1 Tray", 480, "15 g", "34 g", "0 g", "51 g");
foodDbHelper.close();
}