gpt4 book ai didi

Android:扩展 android.app.Application

转载 作者:行者123 更新时间:2023-11-29 02:16:45 25 4
gpt4 key购买 nike

我有一个 DBHandler 类,它将在多个 Activity 中用于执行一些 crud 操作。创建了一个 MyApp 类(扩展应用程序)来保存 DBHandler 的一个实例。

我的 DBHandler 类需要一个上下文来创建 SQLiteOpenHelper 来填充数据库等。

这就是问题开始的地方:在我的 MyApp 构造函数中,我想实例化我的 DBHandler,所以我这样写:

public MyApp() {
super();
dbh = DBHandler(<WHAT DO I PASS HERE>);
}

我尝试了 getApplicationContext()、getBaseContext()、“this”……此时似乎没有什么是完全实例化的上下文。当 SQLiteOpenHelper 尝试 ctx.getResources() 时,我得到一个 NPE。

解决方法:创建 DBHandler 并将其设置在我的主类的 onCreate 中。 -> UGLY(叫我美学家)

问题:Android在创建MyApp时有什么办法吗?

谢谢!

最佳答案

在 MyApp.onCreate() 中创建您的 DBHandler 是执行您想要的操作的正确方法。

@Override
public void onCreate() {
super.onCreate();
dbh = new DBHandler(this);
}

关于Android:扩展 android.app.Application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191361/

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