【发布时间】:2019-08-22 09:29:40
【问题描述】:
下面是我的代码;
private void copyAttachedDatabase() {
try {
InputStream mInput = getAssets().open("dummy");
String outFileName = "/data/data/package_name/databases/" + Util.DATABASE_NAME;
OutputStream mOutput = new FileOutputStream(outFileName);
byte[] mBuffer = new byte[2024];
int mLength;
while ((mLength = mInput.read(mBuffer)) > 0) {
mOutput.write(mBuffer, 0, mLength);
}
mOutput.flush();
mOutput.close();
mInput.close();
db = DatabaseClass.initializeDB(HomeScreenActivity.this);
emailsList = db.daoClass().getAllData();
Log.e("EEEEEEEEEEEEEEEEEE", "" + emailsList.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
public static DatabaseClass initializeDB(Context context) {
if (INSTANCE == null) {
synchronized (DatabaseClass.class) {
if (INSTANCE == null) {
INSTANCE = Room.databaseBuilder(context,
DatabaseClass.class, Util.DATABASE_NAME)
.allowMainThreadQueries()
.fallbackToDestructiveMigration()
.addMigrations(MIGRATION_1_2)
.build();
}
}
}
return INSTANCE;
}
我第一次遇到异常,第二次运行良好...
java.io.FileNotFoundException: /data/data/package_name/databases/myDatabase (No such file or directory)
【问题讨论】:
-
@CommonsWare 感谢您的回答,它真的很有帮助
标签: android sqlite android-studio android-room