首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android商店最近10个搜索值

Android商店最近10个搜索值
EN

Stack Overflow用户
提问于 2012-10-25 22:16:03
回答 2查看 333关注 0票数 1

我有一个在数据库中搜索的应用程序。我想存储最后10个搜索值(我希望即使用户关闭应用程序,它们也会保留下来),以便将它们用作AutoCompleteTextView中的适配器。

SharedPreferences似乎不支持数组或数组列表。这里最好的方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-25 22:32:40

您可以在SQLiteDatabase中使用一个表来存储搜索历史,并使用标准的SQL来访问它。

也可以使用XML、JSON、YAML、CSV、纯文本或任何您喜欢的格式的file来保存历史。它的优点是简单性和(也许)性能。缺点是您必须自己序列化和反序列化(一种可能的变体是直接序列化Java对象)。

票数 1
EN

Stack Overflow用户

发布于 2012-10-25 22:30:11

SharedPreferences支持布尔型整数、浮点数、长整型和字符串。

但是ArrayList是可序列化的,所以如果你也声明你的对象是可序列化的,你可以用ObjectOutputStream把它们编码成一个ByteBuffer,然后把这个byteBuffer转换成一个字符串,最后把它存储到一个SharedPreferences中,或者更好地存储到一个二进制文件(如bytebuffer)中。

在你的例子中,你只需要保存字符串,它更容易遍历数组的每个元素,并将它们保存为“arrayName”+索引,最后保存数组的大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13070617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档