Android 将 sqlite 数据库从 pc 复制到设备
Android copy sqlite database from pc to device
我想在我的 android 项目中使用我电脑上的数据库。要存档,我必须将数据库复制到 /data/data/xxx.xxx.xxx/databases 文件夹中。我怎样才能做到这一点?我读到过使用 adb 但我认为你需要 root 才能访问 /data/data 文件夹。有没有其他方法可以将数据库复制到应用程序数据文件夹中?
将我们的数据库放在项目的 assets
文件夹中,然后调用以下方法。
public void copyDataBase() throws IOException{
String package_name=context.getPackageName();
String DB_PATH = "/data/data/"+package_name+"/databases/";
String DB_NAME = "your_database_file_name";
try {
InputStream myInput = context.getAssets().open(DB_NAME);
File dbFile=new File(DB_PATH);
dbFile.mkdirs();
String outputFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outputFileName);
byte[] buffer = new byte[1024];
int length;
while((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
} catch (Exception e) {
e.printStackTrace();
}
}
我想在我的 android 项目中使用我电脑上的数据库。要存档,我必须将数据库复制到 /data/data/xxx.xxx.xxx/databases 文件夹中。我怎样才能做到这一点?我读到过使用 adb 但我认为你需要 root 才能访问 /data/data 文件夹。有没有其他方法可以将数据库复制到应用程序数据文件夹中?
将我们的数据库放在项目的 assets
文件夹中,然后调用以下方法。
public void copyDataBase() throws IOException{
String package_name=context.getPackageName();
String DB_PATH = "/data/data/"+package_name+"/databases/";
String DB_NAME = "your_database_file_name";
try {
InputStream myInput = context.getAssets().open(DB_NAME);
File dbFile=new File(DB_PATH);
dbFile.mkdirs();
String outputFileName = DB_PATH + DB_NAME;
OutputStream myOutput = new FileOutputStream(outputFileName);
byte[] buffer = new byte[1024];
int length;
while((length = myInput.read(buffer))>0){
myOutput.write(buffer, 0, length);
}
myOutput.flush();
myOutput.close();
myInput.close();
} catch (Exception e) {
e.printStackTrace();
}
}