首页 > 解决方案 > 在 sharedPreference 或 SQL 中保存对象或对象 ID

问题描述

在我的杂货店应用程序中,我将用户选择的产品保存在单例类中。现在根据新要求,每当用户重新打开应用程序时,都应该再次检索这些产品(购物车)。类产品有很多领域:

{
        "imageDisplay",
        "categorySpecial",
        "_id",
        "name_ch",
        "name_en",
        "origin_ch",
        "origin_en",
        "description_ch",
        "description_en",
        "specification_ch",
        "specification_en",
        "unit_ch",
        "unit_en",
        "priceOriginal",
        "price",
        "stock",
        "sold",
        "isOnShelf",
        "processingPriority",
        "imageCover"
}

1)我的第一个问题是我应该只保存所有产品字段还是只保存产品 ID。如果我保存产品 ID,我将不得不在应用程序启动时检索所有购物车产品的详细信息,但如果我保存产品的所有字段那么它将占用大量内存。

哪一种是保存产品的首选方式?

据我所知,有 3 个选项 1)存储在共享首选项中 2)存储在文件中 3)存储在 sql 中

标签: androidandroid-sqlitesharedpreferences

解决方案


您还可以使用简单的 SQLite 数据库。由于您只需要存储杂货,我认为您不需要超过一张 2-3 行的桌子。Android 有很好的文档。如果您对此有任何疑问,可以在这里提问或查看一些分步教程。

安卓文档: https ://developer.android.com/training/data-storage/sqlite


推荐阅读