SQLiteDatabase不支持直接从assets读取文件,所以要提前拷贝数据库。在读取数据库时,先在项目中建立assets文件夹用于存放外部文件,将数据库文件拷到该目录下。
代码方法:
代码如下 | 复制代码 |
/** * 拷贝数据库至file文件夹下 * @param dbName 数据库名称 */ privatevoidinitAddressDB(String dbName) { //1,在files文件夹下创建同名dbName数据库文件过程 File files=getFilesDir();//获取/data/data//files目录 File file=newFile(files,dbName);//创建名为dbName的文件 if(file.exists()){ return; } //2.输入流读取第三方资产目录下的文件 InputStream stream=null; FileOutputStream fos=null; try{ stream=getAssets().open(dbName); //3,将读取的内容写入到指定文件夹的文件中去 fos=newFileOutputStream(file); byte[] bs=newbyte[1024]; inttemp=-1; while((temp=stream.read(bs))!=-1){ fos.write(bs,0,temp); } }catch(IOException e) { e.printStackTrace(); }finally{ if(stream!=null&&fos!=null){ try{ stream.close(); fos.close(); }catch(IOException e) { e.printStackTrace(); } } } } |
樱花校园模拟器4399中文版
樱花校园模拟器4399中文版,十分奇趣好玩的3d校园冒险模拟
我的暑假秘密回忆繁星新春版
我的暑假秘密回忆繁星新春版是一款少女模拟养成类休闲游戏。这款
樱花校园模拟器国际版
樱花校园模拟器国际版,一个超级自由超级好玩的自由恋爱模拟的游
饥荒海难九游版
饥荒海难九游版,带你去真实的海岛上感受一下什么才是真正的孤岛
盖瑞模组体验版最新版
盖瑞模组体验版是玩法非常丰富多元化的沙盒建造游戏,玩家可以在