【问题标题】:Android copy sqlite database from pc to deviceAndroid 将 sqlite 数据库从 PC 复制到设备
【发布时间】:2015-08-05 10:42:36
【问题描述】:

我想在我的 android 项目中使用我电脑上的数据库。为了存档,我必须将数据库复制到 /data/data/xxx.xxx.xxx/databases 文件夹中。我怎样才能做到这一点?我读过使用 adb 但我认为您需要 root 才能访问 /data/data 文件夹。有没有其他方法可以将数据库复制到应用数据文件夹中?

【问题讨论】:

    标签: android database sqlite adb root


    【解决方案1】:

    将我们的数据库放在您项目的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();
                }
            }
    

    【讨论】:

    • 不应该File dbFile=new dbFile(DB_PATH);File dbFile=new File(DB_PATH); 吗?
    • 你是对的,更新答案请看一下。
    猜你喜欢
    • 2011-08-26
    • 2016-05-23
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    相关资源
    最近更新 更多