gpt4 book ai didi

android - 在 Android 上重新创建 Activity 时使用 DatabaseHelper

转载 作者:搜寻专家 更新时间:2023-10-30 23:18:16 24 4
gpt4 key购买 nike

我有一个 Activity 使用 AsyncTask 下载一些数据并将其保存到数据库中。要打开数据库,我们需要将 Context 参数传递给 SQLiteOpenHelper 的 onCreate 方法,这意味着数据库不知何故需要上下文。

我很好奇,当设备转动并且 Activity 经历销毁和创建循环时会发生什么?在 Activity 的构造函数中而不是在 Activity 的 onCreate() 方法中打开数据库是否可以?

问题是我从另一个线程使用数据库,我想知道当 Activity 被销毁和重新创建时到底会发生什么

最佳答案

一种解决方案是使用 ApplicationContext 而不是 ActivityContext。您只需要一个从 Application 构造函数请求 ApplicationContext 的静态方法。

如果您使用某种单例来访问上下文,您将不会遇到任何并发问题。

请参阅此处示例:http://androidcookbook.com/Recipe.seam?recipeId=1218

另一种方法是使用 LoaderManager 来跟踪您打开的数据库连接。

参见此处:http://developer.android.com/reference/android/app/LoaderManager.html(也有完整的例子)

LoaderManager 在适用于 Android 1.5 的兼容包中可用

迈克尔

关于android - 在 Android 上重新创建 Activity 时使用 DatabaseHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10156328/

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