【发布时间】:2015-01-15 18:03:17
【问题描述】:
我正在做一个项目,我需要保存一个对象列表(我已经创建,比如 device.java),并且即使在重新启动应用程序后也能够检索它
我被告知要使用 SharedPreferences 但它似乎不适用于非内置对象..
知道该怎么做吗?
非常感谢
【问题讨论】:
我正在做一个项目,我需要保存一个对象列表(我已经创建,比如 device.java),并且即使在重新启动应用程序后也能够检索它
我被告知要使用 SharedPreferences 但它似乎不适用于非内置对象..
知道该怎么做吗?
非常感谢
【问题讨论】:
在android中,数据存储可以有多种方式
共享首选项 - 以键值对的形式保存值。即使应用程序关闭或手机关闭再打开,数据仍然可用。
SQLITE - 用于 android 移动应用程序的 Sql 数据库。数据永远存在。类型对象的数据可以存储在表中,并在需要时重试。
内部存储 - 在设备内存中存储私有数据。
外部存储 - 将公共数据存储在共享外部存储上。
在所有这些选项中,SQLITE 可以满足您的需求。参考这个链接。
http://developer.android.com/guide/topics/data/data-storage.html#db
【讨论】:
有一个名为 GSON 的库,它可以将对象序列化为简单字符串的 json。您可以在应用程序关闭时将其保存到共享首选项中。并在需要时对它们进行脱毒。
device obj = new device ();
Gson gson = new Gson();
String json = gson.toJson(obj);
这是在首选项中编写它的方法:
PreferenceManager.getDefaultSharedPreferences(context).edit().putString("myList", "json").commit();
图书馆链接:
【讨论】: