Ответ 1
Создайте класс приложения для своего приложения. Это будет оставаться активным в памяти до тех пор, пока работает любая часть вашего приложения. Вы можете создать свою БД из метода onCreate и очистить ее в методе onTerminate. (Обратите внимание, что нет гарантии, что onTerminate будет вызван, поэтому вы должны быть осторожны в отношении того, от чего вы зависите. Однако, поскольку база данных SQLite является просто файлом и агрессивно краснеет, операция закрытия - это вежливость больше, чем необходимость.)
Вы можете получить доступ к приложению из любого вида деятельности через "getApplication", поэтому база данных всегда будет доступна вам.
Для получения дополнительной информации см. http://developer.android.com/guide/appendix/faq/framework.html#3.
Update:
В соответствии с запросом здесь приведен пример использования getApplication. Это действительно невероятно просто.
SQLiteDatabase mDB;
@Override protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mDB = ((MyApplication)getApplication()).mDB;
}
Если каждое действие включает этот код, то каждое действие будет иметь свое собственное поле mDB, которое ссылается на один и тот же базовый общий объект базы данных.