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