android数据库覆盖现有数据上的数据



我有一个数据库,它具有插入、删除、更新功能。现在数据库工作正常,我为数据库添加了一些值。我像这个一样在我的飞溅活动中增加价值

    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();
}

最新更新