У меня есть приложение, в котором я храню некоторые данные в базе данных SQLIte.
И я пытаюсь открыть мою БД только один раз при запуске моего приложения, а затем использовать тот же экземпляр моей БД.
Идея состоит не в том, чтобы открывать мою БД во всех нужных мне видах деятельности.
Одним из решений, которое я получил, было следующее: создать класс, расширяющий Application, а затем открыть там БД:
Вот как выглядит код:
public class MyApplication extends Application{
private static DBAdapter db;
public void onCreate()
{
db=new DBAdapter(getApplicationContext());
db.createDatabase();
db.openDataBase();
}
public static DBAdapter getDatabaseAdapter()
{
return db;
}
}
Таким образом, в каждом действии моего приложения, где мне нужно подключиться к моему DB
, я делаю что-то вроде:
MyApplication myApplication = (MyApplication) this.getApplication();
DBAdapter db= myApplication.getDatabaseAdapter();
Но я не совсем уверен, что мой DB
открывается только в начале моего приложения ... или открывается каждый раз, когда я делаю это:
MyApplication myApplication = (MyApplication) this.getApplication();
Или, если у кого-то есть лучшее решение, пожалуйста, скажите мне :). Спасибо,