当前位置: 代码迷 >> Android >> Android数据库打包 复制有关问题
  详细解决方案

Android数据库打包 复制有关问题

热度:71   发布时间:2016-05-01 21:43:45.0
Android数据库打包 复制问题?
我想把自己用管理工具建立的sqlite数据库 打包到APK中 在程序启动时复制到data/data/...../databases/这个目录下 可是我在复制过程中设置的buffer字节数组如果小了 复制后的数据库就打不开 我把那个复制到手机上的数据库拷贝到电脑上 用管理工具也打不开了 提示说 这个文件不是数据库文件 可是如果我把buffer设置的更大 就不会有这样的问题 我单步执行代码 发现buffer太小的话 复制数据库文件的代码 那个循环 循环了至少两次 但是buffer设置大点 循环就只有一次 这????????????????????????????????????、为什么啊????  
这是复制数据库文件的代码 byte[] buffer = new byte[1024];
// in = getResources().getAssets().open("ASMdb.db");
try
{
while (in.read(buffer) > 0)
{
FileOutputStream out = new FileOutputStream(
"data/data/com.assembly/databases/ASMdb.db");
out.write(buffer);
}

} catch (Exception e)
{
// TODO: handle exception
}

------解决方案--------------------
FileOutputStream out = new FileOutputStream(
"data/data/com.assembly/databases/ASMdb.db");

while ((count = is.read(buffer)) != -1) {
out.write(buffer, 0, count);

 }
------解决方案--------------------
探讨

FileOutputStream out = new FileOutputStream(
"data/data/com.assembly/databases/ASMdb.db");

while ((count = is.read(buffer)) != -1) {
out.write(buffer, 0, count);

}
  相关解决方案