【发布时间】:2012-10-04 20:39:26
【问题描述】:
这是我的代码...
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文件夹。它可以在模拟器中运行,因为在模拟器中您是 root,而您可能不在设备中。 -
那么解决方案是什么?
-
检查我的答案。除此之外,没有解决办法,只能在您的设备中成为 root。
-
包名是否必须从 com.packagename 开始???
-
不,但这与您的问题无关。
标签: android sqlite android-assets