猿问

将视图和片段保存在文件中

我的应用程序允许用户向视图添加图像和文本。所以现在我想保存这些片段,以便他们以后可以对其进行修改并进一步自定义。但是,我找不到保存片段列表的方法。我试过了:


ArrayList<FlashcardsTemplateActivity> FlashCards = new ArrayList<FlashcardsTemplateActivity>();

public void Save() {

    try {

        ByteArrayOutputStream bos = new ByteArrayOutputStream();

        ObjectOutputStream oos = new ObjectOutputStream(bos);

        oos.writeObject(FlashCards);

        byte[] bytes = bos.toByteArray();

    } catch (IOException ex) {

        Log.d("Error! Failed!", "Save: Failed");

        Log.d("Error! Failed!", ex.getMessage());

        Log.d("Error! Failed!", ex.toString());


    }

}

但是,这会引发 java.io.NonSerializableException。


提前致谢。


手掌心
浏览 109回答 2
2回答

心有法竹

这并不像将包含一些视图的数组写入流那么容易。您首先必须将这些视图转换为您喜欢的任何类型的格式,并可以存储在文件中。选项是将它们转换为 JSON、XML 或纯文本 - 您还可以创建视图的原始二进制文件。阅读它们时,您需要一个解析器来解析对象并重新创建视图并将它们添加到布局中。当图像包含自定义位图时,您还必须将位图存储在此文件中。

泛舟湖上清波郎朗

你不能以描述的方式做到这一点。您需要一些中间对象来保存和读取数据库或其他持久层。
随时随地看视频慕课网APP

相关分类

Java
我要回答