在 android 中更改活动时使用 SQLite 的正确方法是什么?
What is the right way in using SQLite when changing activities in android?
我有两个活动。
Activity 1 - 连接到数据库并获取一些数据。
Activity 2 - 连接到数据库并推送新数据。
有一个按钮可以从 activity 1 打开 activity 2。
当我在 activity 1 中打开数据库连接时,我应该在打开 activity 2 之前关闭它然后在 activity 2 中重新打开连接吗?
或者,有没有办法在 activity 1 中打开数据库连接,然后将连接传递给其他活动?
我建议这三个解决方案
- 您可以在每次
onStop()
调用时关闭数据库并在 onStart()
调用您的活动时打开,但这不是一个好的解决方案
- 将您的数据库包装在一些 singleton 中,例如将其称为 DataSource 或 DataAccessObject。它看起来像一个全局变量-访问应用程序数据的一个点,我特别推荐这种方式
- 可能您不需要在第二个 activity 中连接到数据库。 Start second activity by
yourIntent.startActivityForResult()
,那么你应该 return 按意图从第二个到第一个新数据,并将其添加到 onActivityResult()
方法 中的数据库
P.S。抱歉我的英语不好
我有两个活动。 Activity 1 - 连接到数据库并获取一些数据。 Activity 2 - 连接到数据库并推送新数据。
有一个按钮可以从 activity 1 打开 activity 2。
当我在 activity 1 中打开数据库连接时,我应该在打开 activity 2 之前关闭它然后在 activity 2 中重新打开连接吗?
或者,有没有办法在 activity 1 中打开数据库连接,然后将连接传递给其他活动?
我建议这三个解决方案
- 您可以在每次
onStop()
调用时关闭数据库并在onStart()
调用您的活动时打开,但这不是一个好的解决方案 - 将您的数据库包装在一些 singleton 中,例如将其称为 DataSource 或 DataAccessObject。它看起来像一个全局变量-访问应用程序数据的一个点,我特别推荐这种方式
- 可能您不需要在第二个 activity 中连接到数据库。 Start second activity by
yourIntent.startActivityForResult()
,那么你应该 return 按意图从第二个到第一个新数据,并将其添加到onActivityResult()
方法 中的数据库
P.S。抱歉我的英语不好