java - 在 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
}
在这种情况下使用共享偏好是一个好主意吗?
解决方案
我认为这完全没问题。有一个很好的库可以简化这种 SharedPreferences 的使用,它被称为 TinyDB。我自己用它。去看看:https ://github.com/kcochibili/TinyDB--Android-Shared-Preferences-Turbo
您也可以自己实现。
推荐阅读
- cryptography - DES-MAC 与 DES-MAC 签名不同吗?
- python - \r 在 Python 中不会删除整行
- python - 检测何时在 wnck python 中打开一个窗口
- java - 我如何在 Java (Android) 中读取 nc /bin/sh 响应
- python - 在 Python 中更改每个活动主机的按钮的背景颜色
- docker - 在 Dockerfile 中创建用户:选项 d 不明确
- python - 我可以只使用 nginx 或 Gunicorn 部署我的 Django 应用程序吗?
- sql - 查找客人最后评论并在昨天离开的所有帖子
- node.js - Node.JS dns.reverse 多个名称服务器
- c++ - c++ - 如何从使用c ++中的recv接收的数据中去除标头?