1

我正在开发一个 Android 应用程序,我需要将一些 Store 对象添加到 ArrayList favoriteStores。问题是我希望这个列表在关闭应用程序后仍然存在,因为我最喜欢的商店列表必须保留在那里,直到我选择删除其中的特定项目。任何人都知道我可以使用哪种类型的实现?提前致谢,

4

3 回答 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 回答