私は、データベースを使用するには次のGクラスを作成しましたができませんでしたが、最初の段階で、私はこのエラーを得た:は、Android Studioで、データベースを開く
のAndroidManifest.xmlでもCaused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
私が追加:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
を
これは私のGクラスです:
package com.example.n5110.database;
import android.app.Application;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
import java.io.File;
public class G extends Application {
public static Context context;
public static SQLiteDatabase database;
public static final String DIR_SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
public static final String DIR_DATABASE = DIR_SDCARD + "/database-test/";
@Override
public void onCreate() {
super.onCreate();
context = this.getApplicationContext();
new File(DIR_DATABASE).mkdirs();
database = SQLiteDatabase.openOrCreateDatabase(DIR_DATABASE + "/database.sqlite", null);
}
}
誰もがアイデアを持っています?
を役に立てば幸い.html)。 –
@PrerakSolaそうであれば、彼はセキュリティ例外を手に入れたでしょう。 Sidenote:クラスG:Dを呼び出す人AFAIK使用可能なメモリがない場合、データベースが開かないことがあります。少なくともそれをチェックして、それを排除することができます。 – Vucko
メモリはどのようにチェックする必要がありますか?私は初心者です! @Vucko – MarAnd