android项目中,数据库复制问题 Android sqlite3 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我用字节流,将assets文件夹下的数据库复制到sdcard上,复制后的数据库,中文查询不出来,中文值为空白 private void dbImport() { try { File dir = new File(DATABASE_PATH); // 如果/sdcard/testdb目录中存在,创建这个目录 if (!dir.exists()) dir.mkdir(); // 如果在/sdcard/testdb目录中不存在 // test.db文件,则从asset\db目录中复制这个文件到 // SD卡的目录(/sdcard/testdb) if (!(new File(databaseFilename2)).exists()) {// File f = (new File(databaseFilename2));// f.delete(); // 获得封装testDatabase.db文件的InputStream对象 AssetManager asset = getAssets(); InputStream is = asset.open("db/database.db"); FileOutputStream fos = new FileOutputStream(databaseFilename2); byte[] buffer = new byte[1024]; int count = 0; // 开始复制testDatabase.db文件 while ((count = is.read(buffer)) > 0) { fos.write(buffer, 0, count); } fos.close(); is.close(); // asset.close(); } } catch (Exception e) { e.printStackTrace(); } // deleteDatabase("testDatabase.db");//删除数据库 }这是我原来写的导入db方法。也没用到encoding。日文数据库,没问题。 参考:http://download.csdn.net/detail/fire_fire_fire/5290315 我用字节流,将assets文件夹下的数据库复制到sdcard上,复制后的数据库,中文查询不出来,中文值为空白 / 这个问题我前两天才帮别人解决的、 你用流导进去后,你看看在ddms底下你的数据库文件有没有进去 。有就成功了,如果成功还没有数据,就是你没有连接上这个数据库,可能是你读的不是这个数据库,而读的是你的dbhelper自己生成的一个没有数据的数据库。 虽然你用的是字节流,但实际上是按照gbk进行了编码,而打开的时候默认是utf-8编码,所以中文读不出来或者乱码 android.support.v4相关问题 Eclipse和MyEclipse用哪个??? Android RemoteView的问题 图片缩放问题 批处理修改XML一行内容 有哪位大神用过开源项目SlidingUpPanelLayout 2G/3G网络上实现P2P对等连接吗? JSON 解析错误 求解决一个关于Eclipse建立至少支持低于Android4.0时Android项目报错问题。 关于 服务 实例化对象 的问题 UI view寫入的問題 Android上 用Html5做界面,javascript调用摄像头实例
private void dbImport()
{
try
{
File dir = new File(DATABASE_PATH);
// 如果/sdcard/testdb目录中存在,创建这个目录
if (!dir.exists())
dir.mkdir();
// 如果在/sdcard/testdb目录中不存在
// test.db文件,则从asset\db目录中复制这个文件到
// SD卡的目录(/sdcard/testdb)
if (!(new File(databaseFilename2)).exists())
{
// File f = (new File(databaseFilename2));
// f.delete();
// 获得封装testDatabase.db文件的InputStream对象
AssetManager asset = getAssets();
InputStream is = asset.open("db/database.db");
FileOutputStream fos = new FileOutputStream(databaseFilename2);
byte[] buffer = new byte[1024];
int count = 0;
// 开始复制testDatabase.db文件
while ((count = is.read(buffer)) > 0)
{
fos.write(buffer, 0, count);
}
fos.close();
is.close();
// asset.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
// deleteDatabase("testDatabase.db");//删除数据库
}
这是我原来写的导入db方法。也没用到encoding。日文数据库,没问题。
http://download.csdn.net/detail/fire_fire_fire/5290315
/