java - 如何确保我的应用程序的数据在发布更新时不会被删除?

标签 java android

我的 Android 应用程序使用可序列化保存一个对象数组以进行缓存,但是当发布更新时,该数组将被完全删除,用户必须重新执行所有输入。解决这个问题的办法是什么? 提前致谢

最佳答案

如何将可序列化对象存储到缓存中?包管理系统将保留旧数据以用于应用程序的更新安装。

    ObjectOutputStream objectOutputStream = null;
    try {
        objectOutputStream = new ObjectOutputStream(new FileOutputStream(
                getCacheDir() + File.separator + "object"));
        MyObject object = new MyObject();
        object.setData(15);
        object.setName("name");
        objectOutputStream.writeObject(new MyObject());
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        if (objectOutputStream != null) {
            try {
                objectOutputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

关于java - 如何确保我的应用程序的数据在发布更新时不会被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30113871/

相关文章:

java - Spring 发现 beans 从版本 4.3 更改为版本 5

java - 将文件上传到服务器 Java 时出错

android - Phonegap android 应用程序内的惯性滚动(所有手机)

android - TimePicker getCurrentMinute,getCurrentHour 方法在 API 23 中已弃用

Android:从对话框 fragment 调用 onActivityResult()

java - 实现在执行过程中返回结果的多个并发线程的最佳方法?

java - 为什么 OpenCV 的 MSER 的 Python 实现和 Java 实现会产生不同的输出?

java - EventBus 对象的方法在 java 中不起作用

java - 如何为每个 GridView 项目赋予不同的背景颜色?

android - 已弃用的 Canvas.getMatrix() 的替代方案是什么?