не имел никакого эффекта, к сожалению. Кроме того, переключение на метод «попробовать с ресурсами» привело к той же пустой базе данных.
я есть база данных, сохраненная в папке активов моего приложения, и я копирую базу данных, используя приведенный ниже код при первом запуске приложения.
inputStream = mContext.getAssets().open(Utils.getDatabaseName());
if(inputStream != null) {
int mFileLength = inputStream.available();
String filePath = mContext.getDatabasePath(Utils.getDatabaseName()).getAbsolutePath();
// Save the downloaded file
output = new FileOutputStream(filePath);
byte data[] = new byte[1024];
long total = 0;
int count;
while ((count = inputStream.read(data)) != -1) {
total += count;
if(mFileLength != -1) {
// Publish the progress
publishProgress((int) (total * 100 / mFileLength));
}
output.write(data, 0, count);
}
return true;
}
Приведенный выше код работает без проблем, но когда вы пытаетесь выполнить запрос к базе данных, вы получаете SQLite: нет таких исключений таблицы.
Эта проблема возникает только в Android P, все более ранние версии Android работают правильно.
Это известная проблема с Android P или что-то изменилось?