У меня есть приложение, которое создает файл базы данных в '/storage/emulated/0/databases/mydb.db', и в нем находятся файлы. У меня есть другое приложение, которое пытается открыть эту базу данных. Но я получаю код ошибки 14. Не удалось открыть базу данных при попытке отменить таблицу в этом db.Не удается открыть файл базы данных
public class DataBaseHelper extends SQLiteOpenHelper {
public SQLiteDatabase myDataBase;
public String TABLE_NAME;
// Database Information
static final String DB_NAME = "mydb.DB";
public static final String FILE_DIR = "databases";
private String DB_PATH = Environment.getExternalStorageDirectory()
+ File.separator + FILE_DIR + File.separator + DB_NAME;
public DataBaseHelper(Context context, String name) {
super(context, name, null, 1);
TABLE_NAME = name;
}
public void openDatabase() throws SQLiteException {
String DBPath = DB_PATH + "/" +TABLE_NAME;
myDataBase = SQLiteDatabase.openDatabase(DBPath,null,SQLiteDatabase.OPEN_READWRITE);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
Я получаю сообщение об ошибке при myDataBase = SQLiteDatabase.openDatabase(DBPath,null,SQLiteDatabase.OPEN_READWRITE);
ли вы проверить права доступа созданного файла? Два разных приложения - это два разных пользователя Linux. –
Я не пользуюсь корневым телефоном. поэтому разрешения по умолчанию. –
Вы можете поделиться своей базой данных либо с помощью ContentProvider, либо путем размещения базы данных в папке, доступной из обоих приложений (и, возможно, для всех установленных приложений). –