【问题标题】:How to keep data stored in array after application has ended?应用程序结束后如何将数据保存在数组中?
【发布时间】:2013-09-20 14:15:04
【问题描述】:

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

【问题讨论】:

标签: java android arraylist persistent


【解决方案1】:

如果您不想将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>();
        }
    }

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    您可以使用像 SQLite (howto here) 这样的数据库,也可以使用一些序列化技术。序列化有一个相关问题here。

    有关在 Android 中存储数据的一般信息,请参阅here。

    【讨论】:

      【解决方案3】:

      Here's 一篇关于 Android 数据存储选项的好帖子,请仔细阅读并选择您认为最合适的选项。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-13
        • 2013-05-05
        相关资源
        最近更新 更多