gpt4 book ai didi

Activity 之间共享的Android SQLite数据库

转载 作者:IT王子 更新时间:2023-10-29 06:20:33 26 4
gpt4 key购买 nike

在多个 Activity 之间共享一个 SQLite 数据库的最佳方式是什么?数据库中的表显示在 ListView 中,并且还要执行删除/插入记录。我听说过有关服务的一些信息,但没有找到我的问题的任何示例。现在我有用于打开数据库的 SQLiteOpenHelper 类。我在 OnPause() 中关闭数据库并在 onResume() 中打开它。但是我无法从子 Activity 向数据库插入数据,出了点问题。

最佳答案

为您的应用程序创建一个应用程序类。只要您的应用程序的任何部分正在运行,它就会在内存中保持 Activity 状态。您可以从 onCreate 方法创建数据库并在 onTerminate 方法中清理它。 (请注意,不能保证 onTerminate 会被调用,所以你应该小心你在这里所依赖的东西。但是,由于 SQLite 数据库只是一个文件,并且会被积极地刷新,所以关闭操作不仅仅是一种礼貌必要性。)

您可以通过“getApplication”从任何 Activity 访问应用程序,因此数据库将始终对您可用。

有关详细信息,请参阅 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;
}

如果每个 Activity 都包含此代码,那么每个 Activity 都会有自己的 mDB 字段,该字段引用相同的底层共享数据库对象。

关于 Activity 之间共享的Android SQLite数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3900740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com