首页 > 解决方案 > 在 android - kotlin 中使用共享偏好

问题描述

所以我有一个不太大的产品列表,大约有十个产品(它是一个示例商店应用程序)。我想添加一个按钮供用户单击并将产品添加到购物车。共享偏好是否适合存储这么多数据?我也熟悉房间数据库,并且知道共享偏好是用于存储非常少量的数据。这里代码:

这是我的清单:

var list = ArrayList<Model>()
        list.add(Model("milk", "12000", R.drawable.milk))
        list.add(Model("yoghurt", "13000", R.drawable.yoghurt))
        list.add(Model("oil", "15000", R.drawable.oil))
        list.add(Model("canned tomato paste", "8000", R.drawable.tomato_paste))
        list.add(Model("hand wash", "18000", R.drawable.hand_wash))
        list.add(Model("ice cream", "5000", R.drawable.ice_cream))
        list.add(Model("spaggeti", "8000", R.drawable.spaggeti))
        list.add(Model("tomato", "7000", R.drawable.tomato))
        list.add(Model("cucumber", "5000", R.drawable.cucumber))
        list.add(Model("potato", "4000", R.drawable.potato))

每行只有三个值:title、price、image。使用添加按钮将列表模型发送到购物车。像这样的东西。

btn.add.setonClicklistener {

// store each row that user clicked in the cart using shared preference
}

在这种情况下使用共享偏好是一个好主意吗?

标签: javaandroidkotlinsharedpreferencesstoring-data

解决方案


我认为这完全没问题。有一个很好的库可以简化这种 SharedPreferences 的使用,它被称为 TinyDB。我自己用它。去看看:https ://github.com/kcochibili/TinyDB--Android-Shared-Preferences-Turbo

您也可以自己实现。


推荐阅读