我知道有这个类似的论坛主题,但我已经阅读并尝试了解决问题的方法,但似乎没有这样做。 我得到的:Android SQLite关闭数据库之间的2个活动
close()方法是从来没有明确地呼吁数据库/数据/数据...
应用程序没有关闭已打开的数据库或光标...
我的错误不会直接发生,它会在一段时间后发生,当我在两次活动之间来回移动时。
我使用两个需要连接到数据库的活动。我的想法是在其他活动开始之前关闭数据库的第一项活动。这是我的代码:
@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()”中关闭数据库,但这并没有帮助...
如果我没有的onResume(),当我把从第二活动返回,返回到第一个,我没有什么显示了。我需要使用cursor = getTitles() –
来获取信息,那么你应该使用静态数据 – sravan