gpt4 book ai didi

android - 如何使用数据库制作 Android 单例和自定义数据类?

转载 作者:太空狗 更新时间:2023-10-29 16:25:18 26 4
gpt4 key购买 nike

我想使用单例模式为我的 Android 应用程序保存数据库和一些其他数据/方法。

我知道有很多理由反对单例,但对于这种情况我想使用它。

我对 UIApplication 进行了子类化,并在其中创建了一个名为 MyAppData 的数据类。

MyAppData 需要访问 SQLite 数据库。

当我创建数据库时,我需要传递一个上下文。我可以传递应用程序上下文,但它不会直接与 MyAppData 相关。

我不知道这是否会导致我的代码出现问题。

所以我的想法是让 MyAppdata 扩展 android.content.ContextWrapper。我认为我不应该扩展 Activity,因为它实际上不是一个 Activity ,它是一个具有访问数据库方法的数据类。

我想知道如果我扩展 ContextWrapper 是否会在我遗漏的代码中有一些深层的东西,这会导致以后出现大问题(内存泄漏等)。

这可能不是解决此问题的理想方法(我考虑过其他选择),但我的目标是:

在 UIApplication 中有一个单例类,它可以封装数据库并从我的应用程序中的任何 Activity 中轻松检索。

提前感谢您的建议/警告/建议。

最佳答案

子类 android.database.sqlite.SQLiteOpenHelperandroid.app.Application(后者在 AndroidManifest.xml 中正确声明) .
现在,

public class MyApplication extends Application {

private static SQLiteOpenHelper openHelper;

@Override
public void onCreate() {
super.onCreate();
openHelper = new DbManager(this);
//
}

public static SQLiteDatabase getDB() {
return openHelper.getWritableDatabase();
}
}

然后有将执行插入/更新/等的辅助 DAO 类。
这就是我在所有应用程序中使用的内容。

关于android - 如何使用数据库制作 Android 单例和自定义数据类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3273107/

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