java - 保存数组数据

标签 java android

我在保存数组列表时遇到问题。我想在应用程序销毁或更改 Intent 或更改方向时保存我的数组列表:

public class AuditContainer implements Serializable {
    private Paint mPaint;
    private Path mPath;
    private int x,y;
    private String text;
    boolean is_text;

首先我尝试保存在文件中,但是 Paint 类不是可序列化的类。 其次,我尝试使用 onSaveInstanceState(Bundle outState)/onRestoreInstanceState(Bundle savedInstanceState) 但我无法保存 Arraylist 第三,我尝试使用数据库,但没有任何类型的 Paint、Path ... 如果有人对我有建议,我会很高兴。

最佳答案

你有三个选择:

一个。修改 Paint 以实现 Serializable .
B. 使用 transient 将字段标记为不用于序列化关键词:

private transient Paint mPaint;

C.为 Paint 编写您自己的可序列化包装器,以保留关键字段的可序列化副本,以及 delegates私有(private) transient Paint 的功能,并且可以在反序列化后重新初始化 Paint 实例。

关于java - 保存数组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18567120/

相关文章:

java - Eclipse 调试器 "jumps"跳过重要代码

java - 无法从 MainActivity 中找到 Menu.xml 中包含的特定项目 ID

android - Cordova 人行横道应用程序崩溃

android - 如何从 ExpandableListView 中的 child 那里获取项目?

java - Amazon Lambda Java 函数不向 DynamoDB 插入数据

java - Spring MVC : Unable to access HTML page via InternalResourceViewResolver

java - 如何(正确)在 Java 中创建 mailto URL (URI)?

java - Android:方向更改后恢复暂停的线程

java - 无法弄清楚这个 NoClassDefFoundError - 类应该在运行时存在?

android - 将 AsyncTask 的结果返回到它的实例化变量