Java Android类与持久性

Java Android类与持久性,java,android,Java,Android,我知道并尝试了其中的大部分。但我不确定如何决定这些方法中哪一种最适合我。我有一个很好定义的类层次结构与子类,每个类都有几个成员属性变量和其他子类的数组…在纸上。但我如何让它持久?并保持物体方向的圆滑?例如,如果我有以下类 MyClass - private String s1 - private ArrayList<MySubclass1> subclassList - public get/set s1 - public get/set subclasslist 而不是

我知道并尝试了其中的大部分。但我不确定如何决定这些方法中哪一种最适合我。我有一个很好定义的类层次结构与子类,每个类都有几个成员属性变量和其他子类的数组…在纸上。但我如何让它持久?并保持物体方向的圆滑?例如,如果我有以下类

 MyClass
 - private String s1
 - private ArrayList<MySubclass1> subclassList
 - public get/set s1
 - public get/set subclasslist
而不是

 MyClass myClass = new MyClass();
 MySubclass1 mySubclass1 = new MySubclass1();
 myClass.subclassList.Add(mySubclass1);
我必须为count、remove、indexOf以及ArrayList附带的所有其他伟大方法编写方法


那么,我是否错过了一些明显的东西?我是不是让事情变得更难了?处理此问题的最佳方法是什么?

为方便起见,您可以使用一些对象序列化库,例如:

  • 对象到XML封送处理-
  • 对象进行JSON封送处理-

然后,您可以将封送处理的结果保存在文件中,以便以后恢复对象。我认为这是最好的方法。

为什么您的类要保留一个子类列表?为什么你认为每个类成员都有getter/setter是“面向对象的伟大”呢?为每个成员使用getter/setter与将每个成员都使用public是一样的,这意味着根本没有封装。也许,你应该从另一端开始——实现你的程序应该做什么,然后再美化它。哦,我想这还不清楚。不,我的类没有子类的列表。这意味着MySubclass1类的对象列表。我并不认为getter/setter更适合oo。是的,这与拥有公众成员是一样的。我的许多getter/setter都做了一些逻辑检查,但我显示这主要是出于习惯。我的观点是,如果你直接存储到数据库,你就会失去ArrayList的强大功能。哇,我从来没有听说过。这看起来确实是一个可行的解决方案,看起来有点难学。不过,我会仔细考虑一下,以防我找不到不同的解决方案。
 MyClass myClass = new MyClass();
 MySubclass1 mySubclass1 = new MySubclass1();
 myClass.subclassList.Add(mySubclass1);