Я знаю, что на этом форуме есть похожие темы, но я прочитал их и попробовал методы решения проблемы, но, похоже, это не так.
Я получаю:
close () никогда не вызывался в базу данных с явным объяснением /data/data...
приложение не закрывало базу данных или курсор, который был открыт ...
Моя ошибка не возникает напрямую, это происходит через некоторое время, когда я перебираюсь между двумя действиями.
Я использую два действия, которые оба требуют подключения к базе данных. Моя идея заключалась в том, чтобы первым действием было закрытие базы данных до начала другого действия. Вот мой код:
@Override
public void onCreate(Bundle savedInstance) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
movies = new MoviesData(this);
cursor = getTitles();
showTitles(cursor);
}
@Override
public void onPause() {
movies.close();
super.onPause();
}
@Override
public void onResume() {
movies = new MoviesData(this);
super.onResume();
}
Это мое первое занятие, второе очень похоже и запускается при нажатии кнопки. Класс MoviesData - это просто пустой класс SQLiteOpenHelper, найденный ниже.
public class MoviesData extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "movies.db";
private static final int DATABASE_VERSION = 1;
public MoviesData(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
}
Теперь я знаю, когда отображается ошибка. Если я выйду из приложения, а затем снова открою его и попытаюсь сделать что-то, что показывает ошибка. Я пытался закрыть базу данных в "onDestroy ()", но это тоже не помогает ...