gpt4 book ai didi

android - 将上下文传递给 SQLiteOpenHelper

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:17 25 4
gpt4 key购买 nike

首先,我是 Android 应用程序的新手,并不是一个人在做这件事。我的队友在我处理这件事的同时进行了设计,并要求我设置数据库以及执行此操作的方法等等。

所以虽然大部分看起来没问题,但我说:

Context context = null;
DataBaseHelper drinksDataBase = new DataBaseHelper(context);

进入他的主要 Activity 。

构造器如下:

public DataBaseHelper(Context  context) {

super(context, DB_NAME, null, 1);
this.myContext = context;
try{
createDataBase();
}
catch(IOException e){

}
}

忽略 null,我假设它是应用程序崩溃的当前原因,我将如何为应用程序获取正确的上下文,以便我可以使我的数据库正常工作?

它实际上似乎在 this.getReadableDatabase() 上崩溃,所以我不知道这是否是空上下文。

Logcat 无法启动,原因是:

[2012-10-12 10:37:57 - Unexpected error while launching logcat. Try reselecting the device.] device not found
com.android.ddmlib.AdbCommandRejectedException: device not found
at com.android.ddmlib.AdbHelper.setDevice(AdbHelper.java:752)
at com.android.ddmlib.AdbHelper.executeRemoteCommand(AdbHelper.java:373)
at com.android.ddmlib.Device.executeShellCommand(Device.java:462)
at com.android.ddmuilib.logcat.LogCatReceiver$1.run(LogCatReceiver.java:109)
at java.lang.Thread.run(Unknown Source)

提前致谢

詹姆斯

最佳答案

这是我通常做的:

 public class MyApplication extends Application {
private static MyApplication instance;
public MyApplication()
{
instance = this;
}
public static Context getContext()
{
return instance;
}

然后将该类设置到 list 中

 <application
android:name="my.workspace.MyApplication"
...
>

之后只需在需要的地方调用 MyApplication.getContext()

关于android - 将上下文传递给 SQLiteOpenHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12849930/

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