在 Android APK 2.2 及更高版本中保存和加载 Object[] 信息
Posted
技术标签:
【中文标题】在 Android APK 2.2 及更高版本中保存和加载 Object[] 信息【英文标题】:Saving and Loading Object[] information in Android APK 2.2 and up 【发布时间】:2011-07-17 23:45:05 【问题描述】:所以在对该主题进行广泛研究之后,我想出了以下代码:
private void loadInformation() throws IOException, ClassNotFoundException
FileInputStream fis = openFileInput("save");
ObjectInputStream in= new ObjectInputStream(fis);
loadedInformation=(Object[]) in.readObject(); //loadedInformation is a Object[]
in.close();
fis.close();
private void saveInformation() throws IOException
FileOutputStream fos = openFileOutput("save", Context.MODE_PRIVATE);
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject(getAllInformation()); //getAllInformation() returns Object[]
out.close();
fos.close();
所有这些似乎都可以正常工作,唯一的问题是稍后条件会在它们不应该通过时开始传递,并且在几次保存和加载后它就会崩溃。看起来没问题,但如果(变量等于一!= 变量等于一)结果为真,我一定是在做一些愚蠢的事情。
【问题讨论】:
【参考方案1】:您的数组真的只包含对象还是它们实际上是用户定义的类型?如果是这样,请考虑这样一个事实,即您必须以仔细的方式设计您的类以使序列化工作。如果您还没有这样做,我强烈建议您阅读Effective Java 的“第 11 章:序列化”。
【讨论】:
那么你的意思是……使用 sqlite?以上是关于在 Android APK 2.2 及更高版本中保存和加载 Object[] 信息的主要内容,如果未能解决你的问题,请参考以下文章
在 Apache Tomcat 7.0.42 及更高版本上部署 Mojarra 2.1.x 和 2.2 会导致 java.lang.UnsupportedOperationException
Android BLE write Characteristic 方法在 Android 5.0 及更高版本中总是返回 false