最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Android导入现有的数据库方法示例
时间:2022-06-25 23:29:56 编辑:袖梨 来源:一聚教程网
大家在平时见到的android数据库操作一般都是在程序开始时创建一个空的数据库,我们然后在进行相关操作。这个我们就比较好做了,因为这个数据库是我们一开始就跟着这个应用走的,那么我们有的时候不可能什么都是自己去做的。我们要是需要使用一个已有数据的数据库怎么办呢?大家想一想在android系统下数据库应该存放在什么地方呐,我们要是知道数据库存放在什么地方就好办了,现在大家有没有思路了。没有的话,下面来看看详细的介绍吧。
方法如下
我们都知道 Android的 数据库默认是放在datadatapackageNamedatbases下的;
要导入现有的数据库将我们的数据库在 程序第一次启动的时候将数据库放在这个目录下,然后我们配置好SqliteDabase对象就可以 直接操作了。
代码如下 | 复制代码 |
/** * 将 数据库从 assets 复制到 databases下 */ privatevoidcopyDB() { //data/data/packageName/databases/ File mkdir =newFile(getFilesDir().getParent(),"databases"); //创建 databases文件夹 if(!mkdir.exists()) mkdir.mkdirs(); Log.e(TAG,"copyDb: mkdir="+mkdir.getPath()); //数据库文件 File file =newFile(mkdir,"SinBusinessWssm1.db"); //只是在程序第一次启动时创建 if(!file.exists()){ //获取 assets管理 AssetManager assets = getAssets(); //执行文件复制 try{ InputStream open = assets.open("SinBusinessWssm1.db"); FileOutputStream fos =newFileOutputStream(file); byte[] bs =newbyte[1024]; intlen ; while((len = open.read(bs))!=-1){ fos.write(bs,0,len); } fos.flush(); fos.close(); open.close(); }catch(IOException e) { e.printStackTrace(); } } Log.e(TAG,"copyDb: exists="+file.getPath()); } |
相关文章
- 王者荣耀S38赛季有什么更新 12-25
- 王者荣耀S38赛季有什么更新 王者荣耀S38赛季更新内容介绍 12-25
- 世界之外12.25有什么更新 世界之外12月25日更新内容介绍 12-25
- 光遇12.25红石碎片在哪里 光遇12月25日红石碎片位置攻略 12-25
- 奇迹暖暖绚光引途第二天怎么玩 绚光引途day2庆祝之舞搭配攻略 12-25
- 无限暖暖拍照打卡位置在哪里 无限暖暖世界巡游位置全攻略 12-25