如何将ArrayList <marker>写入/读入文件

时间:2017-04-25 14:46:33

标签: android google-maps arraylist google-maps-android-api-2 marker

我需要在文件中写/读ArrayList<Marker>。 这是我到目前为止所做的:

保存列表:

private void saveToFile(ArrayList<Marker> arrayList) {
        try {
            FileOutputStream fileOutputStream = openFileOutput("test.txt", Context.MODE_PRIVATE);
            ObjectOutputStream out = new ObjectOutputStream(fileOutputStream);
            out.writeObject(arrayList);
            out.close();
            fileOutputStream.close();

        } catch (IOException e) {
            e.printStackTrace();

        }
    }

加载列表

private ArrayList<Marker> loadFromFile() {
        ArrayList<Marker> savedArrayList = null;

        try {
            FileInputStream inputStream = openFileInput("test.txt");
            ObjectInputStream in = new ObjectInputStream(inputStream);
            savedArrayList = (ArrayList<Marker>) in.readObject();
            in.close();
            inputStream.close();

        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }

        return savedArrayList;
    }

当我运行代码时,我得到ClassNotFoundException。 问题是我需要将整个ArrayList<Marker>存储为对象。 我找到了一个解决方案,它将Marker分隔为lat / long并将其作为数字写入文本文件,但它不适合我。 我知道Marker类不是Serializable,而是如何将它保存为整个对象?

0 个答案:

没有答案