我写了一个小程序,读取现有数据库,数据库内容已经添加好了,放到raw目录下,按照网上的方法程序了一半。
现在可以将数据库写到SD卡中,但是数据库文件不全,只写了3072K,里面有一个android_metadata表,但我数据库中没有这个表。不知道什么原因。网上查找未找到解决方法。找了好几天,无结果,请大家帮忙看看。多谢。
现在可以将数据库写到SD卡中,但是数据库文件不全,只写了3072K,里面有一个android_metadata表,但我数据库中没有这个表。不知道什么原因。网上查找未找到解决方法。找了好几天,无结果,请大家帮忙看看。多谢。
解决方案 »
- 关于addContentView(view, params)
- NDK opengles2.0 贴图有问题
- 关于用videoview播放rtsp流的问题
- HTML5 开发 Android应用的问题
- Camera 问题
- 请教高手~~~~~~~~~~~~~~~~~~~~~
- 关于andorid ContentProvider的问题
- 贡献几道android面试题
- bufferCount (4) is too small and increased to 12
- 有关android、webview、js、getElementsByTagName的一个问题
- android实现指定文件上传
- android 声音的外放 如何实现啊?
贴点代码看看 有没加后缀".sqlite"或".db"
InputStream is = this.context.getResources().openRawResource(
R.raw.people); //欲导入的数据库
FileOutputStream fos = new FileOutputStream(dbfile);
byte[] buffer = new byte[BUFFER_SIZE];
int count = 0;
System.out.print("是不里"+String.valueOf(is.read(buffer)));
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
is.close();
fos.close();
}
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile,
null);
return db;
while ((count = is.read(buffer)) !=-1) {///试试是不是这里出问题啦
fos.write(buffer, 0, count);
}
is.close();
fos.close();
输出关闭时这样试试
fos.flush();
fos.close();
把这句屏蔽了 要不少读了一次
InputStream is = this.context.getResources().openRawResource(
R.raw.people); //欲导入的数据库
FileOutputStream fos = new FileOutputStream(dbfile);
byte[] buffer = new byte[BUFFER_SIZE];
int count = 0;
while ((count = is.read(buffer)) > 0) {
fos.write(buffer, 0, count);
}
fos.flush();
fos.close();
is.close();
}
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile,
null);
return db;
System.out.print("是不里"+String.valueOf(is.read(buffer)));
呵呵 你多读了次 但没写入 结果文件小了