Android导入现有的数据库方法示例
前言
大家在平时见到的android数据库操作一般都是在程序开始时创建一个空的数据库,我们然后在进行相关操作。这个我们就比较好做了,因为这个数据库是我们一开始就跟着这个应用走的,那么我们有的时候不可能什么都是自己去做的。我们要是需要使用一个已有数据的数据库怎么办呢?大家想一想在android系统下数据库应该存放在什么地方呐,我们要是知道数据库存放在什么地方就好办了,现在大家有没有思路了。没有的话,下面来看看详细的介绍吧。
方法如下
我们都知道Android的数据库默认是放在data\data\packageName\datbases\下的;
要导入现有的数据库将我们的数据库在程序第一次启动的时候将数据库放在这个目录下,然后我们配置好SqliteDabase对象就可以直接操作了。
/**
*将数据库从assets复制到databases下
*/
privatevoidcopyDB(){
//data/data/packageName/databases/
Filemkdir=newFile(getFilesDir().getParent(),"databases");
//创建databases文件夹
if(!mkdir.exists())mkdir.mkdirs();
Log.e(TAG,"copyDb:mkdir="+mkdir.getPath());
//数据库文件
Filefile=newFile(mkdir,"SinBusinessWssm1.db");
//只是在程序第一次启动时创建
if(!file.exists()){
//获取assets管理
AssetManagerassets=getAssets();
//执行文件复制
try{
InputStreamopen=assets.open("SinBusinessWssm1.db");
FileOutputStreamfos=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(IOExceptione){
e.printStackTrace();
}
}
Log.e(TAG,"copyDb:exists="+file.getPath());
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对各位Android开发者们能带来一定的帮助,如果有疑问大家可以留言交流。