查看:Android studio里的Device File Explorer查看
复制数据数据库:
(一)工具保存;直接接着上面找到自己的数据库,然后单击右键。saveAs选择要保存的地址,即可保存成功
1.在AnroidManifest.xml中将debuggable属性设置为false,设置为true将无法在没有root权限的情况下查看应用的目录,会得到类似permission denied的信息。
2.获取test数据库文件路径:Applications.context().getDatabasePath("test")
3.复制数据文件到指定目录
try {
copyDB(Applications.context(),Applications.context().getDatabasePath("approval"),new File(FileUtil.getFilePath()+File.separator+"approval_db.db"));
}catch (IOException e) {
LogUtils.e("copyDB:"+e);
e.printStackTrace();
}
/**
* 复制数据库
* */
private void copyDB(Context context, File fromDB, File toDB)
throws IOException {
// 判断是否存在文件
LogUtils.e("copyDB:"+"-toDB-Path:"+toDB.getPath());
if (toDB.exists()) {
// 已经存在文件
toDB.delete();
}
// 创建新的db
SQLiteDatabase s = SQLiteDatabase.openOrCreateDatabase(toDB, null);
// // 复制asseets中的db文件
// InputStream myInput = context.getAssets().open(Constant.SYS_DB_NAME);
InputStream myInput =new FileInputStream(fromDB);
String outFileName = toDB.getPath();
OutputStream myOutput =new FileOutputStream(outFileName);
byte[] buffer =new byte[1024];
int length;
while ((length = myInput.read(buffer)) >0) {
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
s.close();
}
网友评论