jeudi 21 janvier 2016

Could not open Database

my app is working fine so far but on some devices im getting an error (Android 4.1 or 4.3 for example )

 android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
Caused by: android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14): Could not open database
    at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:209)
    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:193)
    at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463)
    at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185)
    at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177)
    at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:804)
    at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:789)
    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:694)
    at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:235)
    at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:188)

In Class DBManager i have this:

public class DBManager {
    public DBHelper helper;
    private SQLiteDatabase db;
    private Cursor c;

    public DBManager(Context context) {
        helper = new DBHelper(context);
        db = helper.getReadableDatabase();

       // db = helper.getWritableDatabase();
    }

And in DBHelper this:

 public class DBHelper extends SQLiteOpenHelper {
        private static final String DATABASE_NAME = Environment.getExternalStorageDirectory() + "/database/database.db3";
 private static final int DATABASE_VERSION = 3;

 public DBHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE_SQL);

    }

Manifest etc. is ok but i do not understand why on some devices the SQLiteCantOpenDatabaseException comes . I hope somebody can help me to solve this problem ? Thanx in advance

Aucun commentaire:

Enregistrer un commentaire