Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
数据库显示在emulator中,但不显示在我的android设备上_Android_Sqlite_Android Assets - Fatal编程技术网

数据库显示在emulator中,但不显示在我的android设备上

数据库显示在emulator中,但不显示在我的android设备上,android,sqlite,android-assets,Android,Sqlite,Android Assets,这是我的密码 private static String DB_NAME = "pa1.db"; private static String DB_PATH = "/data/data/in.bitcode.sn/databases/"; private void copyDataBase() throws IOException { InputStream myInput = context.getAssets().open(DB_NAME); String outFile

这是我的密码

private static String DB_NAME = "pa1.db";
private static String DB_PATH = "/data/data/in.bitcode.sn/databases/";
private void copyDataBase() throws IOException {

    InputStream myInput = context.getAssets().open(DB_NAME);

    String outFileName = DB_PATH + DB_NAME;

    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();

}

无法写入
/data
文件夹。这是一个Android系统文件夹。它在仿真器中工作,因为在仿真器中,您是,而您可能不在设备中


也许你想用它来代替这个。

你不能写入
/data
文件夹。它可以在模拟器中工作,因为在模拟器中你是,而你可能不在你的设备中。那么解决这个问题的方法是什么呢?检查我的答案。除此之外,除了在设备中成为根用户之外,没有其他解决方案。包名是否必须仅从com.packagename开始?不,但这与您的问题无关。在string.xml中存储字符串数组是否有任何限制对不起,这与您的问题无关。如果你想问别的问题,提出一个新问题。