我目前正面临一个问题,我应该在android设备上存储我的对象结构。用例:我开始调用一个应用程序服务器(在AsyncTask的帮助下),从服务器获取一个众所周知的响应(xml-response),解析数据并最终将其转换为我的对象结构(高度复杂的类图与类之间的许多关联)。到目前为止,它的工作,感谢伟大的XMLPullParser;) 我想知道在我的活动之间存储(当然分享)获取的数据......我已经知道我可以使用sqlite,但我没有or-mapper(像j2ee环境中的休眠)。我也不允许将这些敏感数据存储在设备上(在sqlite或文件系统中),所以我的第一种方法是将这些数据存储在一个单例中(这个单元存储在内存中......)。但是当系统在内存不足的情况下会发生什么情况,android会“销毁”存储在我的单例中的数据吗?我已阅读关于扩展android.app.Application类...因此,在Android设备上安全地存储对象数据(从“webservice”调用)的最佳方式是什么?在android设备上存储大型应用程序数据的位置?
顺便说一句:Android开发是很酷的!我们目前正在将Android Mobile和iPhone移植到Windows Mobile 6.5应用程序,而我的同事(负责iPhone-dev)一直在抱怨^^
嗨Nailuj,谢谢你的详细解答!所以我认为唯一的方法是通过扩展android.app.Application类来存储数据,因为这是我能够“安全地”在低内存中存储获取数据的唯一机会(使用我自己的单例实现将不知道系统杀死应用程序时)。如何序列化数据并将它们与javax.crypto一起存储到文件系统中,并在内存可用(或应用程序状态恢复)时重新加载该数据? – 2010-11-23 09:13:44