Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android将sqlite数据库从pc复制到设备_Android_Database_Sqlite_Adb_Root - Fatal编程技术网

Android将sqlite数据库从pc复制到设备

Android将sqlite数据库从pc复制到设备,android,database,sqlite,adb,root,Android,Database,Sqlite,Adb,Root,我想在我的android项目中使用我电脑上的数据库。为了存档,我必须将数据库复制到/data/data/xxx.xxx.xxx/databases文件夹中。我该怎么做?我读过使用adb的文章,但我认为您需要root用户才能访问/data/data文件夹。是否有其他方法将数据库复制到应用程序数据文件夹中?将我们的数据库放置在项目的资产文件夹中,并调用以下方法 public void copyDataBase() throws IOException{ Strin

我想在我的android项目中使用我电脑上的数据库。为了存档,我必须将数据库复制到/data/data/xxx.xxx.xxx/databases文件夹中。我该怎么做?我读过使用adb的文章,但我认为您需要root用户才能访问/data/data文件夹。是否有其他方法将数据库复制到应用程序数据文件夹中?

将我们的数据库放置在项目的
资产
文件夹中,并调用以下方法

     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=新的dbFile(DB_路径)
be
File dbFile=新文件(DB\u路径)?你是对的,更新了答案,请看一看。