Вы можете добиться этого, расширяя класс Application. У Google есть это, чтобы сказать об этом:
Базовый класс для тех, кому нужно
поддерживать глобальное состояние приложения. Вы
может обеспечить вашу собственную реализацию
указав его имя в вашем
AndroidManifest.xml-х
тег, который приведет к тому, что этот класс будет
создан для вас, когда процесс
для вашего приложения / пакета
создано.
Обычно нет необходимости создавать подклассы
Заявка. В большинстве случаев статический
синглтоны могут обеспечить то же самое
функциональность в более модульном виде.
Если ваш синглтон нуждается в глобальном
контекст (например, для регистрации
приемники вещания), функция для
получить его можно дать контекст
который внутренне использует
Context.getApplicationContext () когда
Сначала строим синглтон.
Я сделал это сам так:
public class App extends Application {
private DbHelper dbHelper;
@Override
public void onCreate() {
super.onCreate();
dbHelper = new DbHelper(this);
}
public SQLiteDatabase getDatabase(){
return dbHelper.getWritableDatabase();
}
@Override
public void onTerminate() {
super.onTerminate();
dbHelper.close();
}
}
Затем вы просто получаете к нему доступ, вызывая getApplicationContext.getDatabase ()