我正在开发一个 Android 应用程序,我需要将一些 Store 对象添加到 ArrayList favoriteStores。问题是我希望这个列表在关闭应用程序后仍然存在,因为我最喜欢的商店列表必须保留在那里,直到我选择删除其中的特定项目。任何人都知道我可以使用哪种类型的实现?提前致谢,
问问题
4317 次
3 回答
4
如果您不想将arraylist 保存到数据库,可以将其保存到文件中。如果您只想保存 arraylist 而不想接触 sqlite,这是一个很好的方法。
您可以使用此方法将 arraylist 保存到文件
public static <E> void SaveArrayListToSD(Context mContext, String filename, ArrayList<E> list){
try {
FileOutputStream fos = mContext.openFileOutput(filename + ".dat", mContext.MODE_PRIVATE);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(list);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
您可以使用此方法将该保存的文件读取到 arraylist
public static Object ReadArrayListFromSD(Context mContext,String filename){
try {
FileInputStream fis = mContext.openFileInput(filename + ".dat");
ObjectInputStream ois = new ObjectInputStream(fis);
Object obj= (Object) ois.readObject();
fis.close();
return obj;
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<Object>();
}
}
希望这有帮助。
于 2013-09-16T14:11:27.500 回答
2
您可以使用 SQLite 之类的数据库(此处为 howto),也可以使用一些序列化技术。这里有一个与序列化相关的问题。
可以在此处找到有关在 Android 中存储数据的一般信息。
于 2013-09-16T12:20:36.150 回答
0
这是一篇关于 Android 中数据存储选项的好文章,请仔细阅读并选择您认为最合适的选项。
于 2013-09-16T12:24:32.697 回答