在android中使用openOrCreateDatabase时出错(无法打开数据库)

时间:2017-08-15 21:22:59

标签: java android database sqlite

我试图从一个类中创建一个数据库。该应用程序停止在Api 22+上运行,我在logcat中收到此错误:

Unable to create application com.android.tools.fd.runtime.BootstrapApplication: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database

代码:

public class G extends Application {

public static SQLiteDatabase database;
public static final String   DIR_SDCARD   = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String   DIR_DATABASE = DIR_SDCARD + "/DO_NOT_DELETE/";

@Override
public void onCreate() {
    super.onCreate();

    new File(DIR_DATABASE).mkdirs();
    database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "/database.sqlite", null);

   }
}

在低于5的Android版本上运行它没有问题。我还在AndroidManifest.xml中添加了所需的权限。可能是什么问题?

1 个答案:

答案 0 :(得分:1)

哎呀,我犯了一个愚蠢的错误。我试图在没有SD卡存储的模拟器上创建/打开数据库。现在我给它留了一些空间用于SD卡,它工作正常。