I’m starting to work with Android, and as far as I have read, the main structure of an app is a group of more or less independent Activities where one is the main, and from there you launch one or another.
My problem is that some of those activities spend some time when they are created to generate some data, that is lost when the activity ends because of the paradigm of Android.
Also, I want to have some overall control of some parts of my program. For example, I activate a sensorListener in one activity, and I want to keep it working after I end that activity (by pressing “back” or launching another activity).
Is it possible to have some common structure to all the activities where I can place reusable data?
Also, I whould like my app to do something periodically , no matter what activity is working at the moment.
Do you know if there is a “well designed” way to program this overall data structure and periodic tasks?
You can use your “Application” class to have an entrypoint. This class won’t get dealocated, you can save references in there, however, this is not a good style of programming but I have seen it a lot. If it’s possible, a better way is to use threads, e.g. “AsyncTask” class. Here you can perform your operations and populate the activity on the fly.
As L7 pointed out you may use “service” as a long running background process for your sensor, this is also the recommended way of android.