gpt4 book ai didi

android - Android 中的多个数据库连接(来自 Activity 和 Service)

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:54 28 4
gpt4 key购买 nike

我想使用 SQLite 数据库在 Android 应用程序中存储数据。没问题。但是在预定义的时间间隔(每天 10 点、14 点、18 点和 22 点),我想运行一个也需要访问数据库的 IntentService。问题来了:

当用户在 IntentService 启动时使用应用程序时,会出现问题,因为 Activity 中有一个数据库连接处于 Activity 状态,并且有一个要建立在 IntentService 中。所以数据库将被锁定并且 IntentService 将失败,对吗?

我是如何实现的,在这些情况下,IntentService 只是等待 Activity 完成当前操作(SELECTUPDATE等)然后正常运行?

在我的 Activity 中,我在 onCreate 中打开数据库连接(通过 SQLiteOpenHelper)并在 onDestroy 中关闭它。这是否意味着 IntentService 没有机会同时处理数据库?

最佳答案

So the database will be locked and the IntentService will fail, right?

如果他们同时对单独的 SQLiteDatabase 对象执行操作,是的。

How an I achieve that, in these cases, the IntentService just waits for the Activity to finish the current operation (SELECT, UPDATE, etc.) and then runs normally?

为 Activity 和服务使用单个 SQLiteOpenHelper 实例,无论是通过单例、自定义 Application 对象还是 ContentProvider

关于android - Android 中的多个数据库连接(来自 Activity 和 Service),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10875022/

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