title: Where to store large application data on android devices?
body: <p>I'm currently facing a problem where I should store my object structure on the android device. </p>
  
  <p>The usecase: I'm starting a call to an applicationserver (with the great help of <a href="http://developer.android.com/reference/android/os/AsyncTask.html" rel="nofollow noreferrer">AsyncTask</a>), get a well known response (xml-response) from the server, parse the data and transform it finally into my object structure (highly complex class diagram with many associations between the classes). So far it's working, thanks to the great XMLPullParser ;)
  I'm wondering where to store (and of course share) the fetched data between my activities... I already know that I can use sqlite, but I do not have an or-mapper (like hibernate in the j2ee environment). I'm also not allowed to store this sensitive data on the device (in sqlite or file system), so my first approach was to store this data in a singleton (which is of cource being held in memory...). But what happens when system is getting on low memory, can android "destroy" the data stored in my singleton? I already read about extending the <a href="http://developer.android.com/reference/android/app/Application.html" rel="nofollow noreferrer">android.app.Application</a> class... So what is the best way to securely store object data (called from "webservice") on android devices?</p>
  
  <p>BTW: Android development is that cool! We are currently porting a Windows Mobile 6.5 App to Android and iPhone, and my colleague (reponsible for iPhone-dev) is complaining all the time^^</p>