我希望每次用户按下搜索按钮时,都必须保存结果,因为我正在向我的应用程序添加 10 个最新的搜索历史记录。
为了使这样的功能发挥作用,应保存检索到的数据。我在文档中搜索并发现: http: //developer.android.com/guide/topics/data/data-storage.html
应该使用哪个类来完成我的工作?
我希望每次用户按下搜索按钮时,都必须保存结果,因为我正在向我的应用程序添加 10 个最新的搜索历史记录。
为了使这样的功能发挥作用,应保存检索到的数据。我在文档中搜索并发现: http: //developer.android.com/guide/topics/data/data-storage.html
应该使用哪个类来完成我的工作?
要存储此类数据(最多 10 个项目),我只需将它们作为 JSON 存储在您的SharedPreferences
. 请参阅Android文档的“存储选项”页面的这一章:https ://developer.android.com/guide/topics/data/data-storage.html#pref
使用共享首选项http://developer.android.com/guide/topics/data/data-storage.html#pref比较其他选项的更好方法.. 将其存储到 JSON 字符串 ..
您希望在历史记录中存储多少数据?它会保存多久?如果您只想存储一些历史记录,比如说 5-10,您可以使用 SharedPreferences 并将数据编码为 JSON,如果您想获取它,您可以解析数据。例如历史将是这样的
{
"history": [
{
"text": "aaa",
"date": "23-03-2013"
},
{
"text": "bbb",
"date": "22-03-2013"
},
{
"text": "bcccc",
"date": "22-03-2013"
}
]
}
数据将一直保留,直到您的应用程序被卸载,或者如果您想清理它,您可以使用 SharedPreferences.Editor.clear()
但是,如果您想存储许多历史数据,比如说超过 100 个数据,您可以使用 sqlite 数据库,那么您可以在每次用户进入搜索功能所在的屏幕时查询数据我想它会足够快,因为您只获取文本不是 Blob,如果您想清除它,只需使用查询将其删除