首页 > 系统 > Android > 正文

Android导入现有的数据库方法示例

2019-12-12 03:35:25
字体:
来源:转载
供稿:网友

前言

大家在平时见到的android数据库操作一般都是在程序开始时创建一个空的数据库,我们然后在进行相关操作。这个我们就比较好做了,因为这个数据库是我们一开始就跟着这个应用走的,那么我们有的时候不可能什么都是自己去做的。我们要是需要使用一个已有数据的数据库怎么办呢?大家想一想在android系统下数据库应该存放在什么地方呐,我们要是知道数据库存放在什么地方就好办了,现在大家有没有思路了。没有的话,下面来看看详细的介绍吧。

方法如下

我们都知道 Android的 数据库默认是放在data/data/packageName/datbases/下的;

要导入现有的数据库将我们的数据库在 程序第一次启动的时候将数据库放在这个目录下,然后我们配置好SqliteDabase对象就可以 直接操作了。

/** * 将 数据库从 assets 复制到 databases下 */private void copyDB() { //data/data/packageName/databases/ File mkdir = new File(getFilesDir().getParent(),"databases"); //创建 databases文件夹 if (!mkdir.exists()) mkdir.mkdirs(); Log.e(TAG, "copyDb: mkdir="+mkdir.getPath()); //数据库文件 File file = new File(mkdir,"SinBusinessWssm1.db"); //只是在程序第一次启动时创建 if(!file.exists()){  //获取 assets管理  AssetManager assets = getAssets();  //执行文件复制  try {   InputStream open = assets.open("SinBusinessWssm1.db");   FileOutputStream fos = new FileOutputStream(file);   byte[] bs = new byte[1024];   int len ;   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());}

总结

以上就是这篇文章的全部内容了,希望本文的内容对各位Android开发者们能带来一定的帮助,如果有疑问大家可以留言交流。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表