Я создаю базу данных при первом запуске моего приложения и также заполняю ее. Иногда мне нужно обновить базу данных из внешнего источника, поэтому мне нужно поместить ее в папку документов Android и получить оттуда. Итак, я копирую эту базу данных из папки «Документы» в базу данных приложений, используя приведенный ниже код. Используя отладчик, я могу завершить sh все приложение без ошибок, а также в журналах. Однако, как только я проверяю базу данных в самом приложении в «data / data / com.myApp.com / database / dbName.db», эта база данных не обновляется или база данных в папке «Документы» не копируется. Я также попытался поместить базу данных для копирования в папку "assets" приложения, но все равно не получил желаемого результата:
main_activity
DatabaseHelper db = new DatabaseHelper(getActivity().getApplicationContext());
db.copyDatabase();
DatabaseHelper
public void copyDatabase() {
DB_FILE = context.getDatabasePath(DB_NAME);
try {
InputStream mInput = mContext.getAssets().open(DB_NAME);
OutputStream mOutput = new FileOutputStream(DB_FILE);
byte[] mBuffer = new byte[1024];
int mLenth;
while((mLenth = mInput.read(mBuffer)) > 0) {
mOutput.write(mBuffer, 0, mLenth);
}
mOutput.flush();
mOutput.close();
mInput.close();
} catch (IOException e) {
e.printStackTrace();
}
}