数据库显示在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中存储字符串数组是否有任何限制对不起,这与您的问题无关。如果你想问别的问题,提出一个新问题。