I have a service that collects data, can I save the data in case of reboot or any other action that will restart the service, and how can I do it?
问题:
回答1:
Can I save the data in case of reboot or any other action that will restart the service
You will not necessarily find out when those sorts of events will occur. Save your data as you go.
And how can I do it?
Use a file. Or a database, which is a type of file. Or a SharedPreferences
structure, which is backed by a type of file.
回答2:
You may want to make use of Android's SQLite3 support, which provides you with a lightweight relational database on the handset where you can store your data. For an introduction (as well as some other options), see: http://developer.android.com/guide/topics/data/data-storage.html
回答3:
Android Services have a lifecycle like its Activities. Refer to the documentation for proper callbacks to save state before a service is shutdown.
Might I recommend the onDestroy() method.
回答4:
Or use the serialization API
http://java.sun.com/developer/technicalArticles/Programming/serialization/