gpt4 book ai didi

android - 在所有 Activity 之间共享同一个数据库的最佳方式

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

我正在使用一个我需要在所有 Activity 中访问的数据库。所以我创建了一个 MyDBAdapter 类,其中包含打开、创建、getData 等所有方法...

要访问数据库,我看到两种不同的方式:

一个。在每个 Activity 中,我现在都写:MyDBAdapter db = new MyDBAdapter();

这意味着将在每个 Activity 中创建一个新的 DBAdapter。每个人都会打开同一个数据库并且必须关闭它。这也意味着同一个数据库可能会被多个 Activity 打开——可以吗?或者我是否手动确保每次切换 Activity 时关闭数据库?

在第一个 Activity 中只创建一个 DBAdapter 实例,每次使用 putExtra("Task", x);

将它传递给下一个 Activity

然后数据库在第一个 Activity 中只打开和关闭一次。

哪种方法更好?

非常感谢。

最佳答案

我更喜欢 content provider在 Activity 之间共享数据。
尽管它的主要目的是在应用程序之间共享,但它可以在我们的单个应用程序中使用。
如果我们使用content provider,就不用担心数据库的关闭和锁定。

Content providers实现用于查询提供者和返回结果以及用于添加、更改和删除数据的通用接口(interface)。

它是客户端间接使用的接口(interface),最常见的是通过 ContentResolver 对象。您通过调用 getContentResolver()

获得一个 ContentResolver

检查这个Simple Content Provider for db operations

关于android - 在所有 Activity 之间共享同一个数据库的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8019531/

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