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

 更新时间:2017年02月27日 08:58:02   作者:孟祥超  
这篇文章主要介绍了Android导入现有的数据库方法,文中通过示例代码介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。

前言

大家在平时见到的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开发者们能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • Android实现字母导航控件的示例代码

    Android实现字母导航控件的示例代码

    这篇文章主要介绍了通过自定义View实现字母导航控件的示例代码,文中的实现过程讲解详细,对我们学习或工作有一定帮助,感兴趣的可以学习一下
    2022-01-01
  • Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)

    Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)

    Android中Textview和图片同行显示,文字超出用省略号显示,图片自动靠右边。看到这个问题本来认为是一个很正常的需求,看起来很简单,但是做起来却遇到了很蛋疼的问题,怎么搞的都不行,堵了很长时间,下面说一下解决的方案,希望遇到这样问题的朋友可以使用。
    2016-12-12
  • Android曲线更圆滑的签名画板

    Android曲线更圆滑的签名画板

    这篇文章主要为大家详细介绍了Android曲线更圆滑的签名画板,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Android View的事件体系教程详解

    Android View的事件体系教程详解

    这篇文章主要为大家介绍了Android View的事件体系教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • Android 自定义标题栏背景

    Android 自定义标题栏背景

    最近在做android项目,需要做一个自定义的标题栏(操作栏)。去网上找了很多demo,发现都有很多问题。例如使用自定义的style。下面来分享下个人最终的解决方案吧
    2016-01-01
  • Flutter组件生命周期和App生命周期示例解析

    Flutter组件生命周期和App生命周期示例解析

    这篇文章主要为大家介绍了Flutter组件生命周期和App生命周期示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Android文件操作工具类详解

    Android文件操作工具类详解

    这篇文章主要为大家详细介绍了Android文件操作工具类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Android开发中听筒无法播放音乐的解决方法

    Android开发中听筒无法播放音乐的解决方法

    这篇文章主要介绍了Android开发中听筒无法播放音乐的解决方法,涉及Android权限控制中的相关属性设置技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • 基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法

    基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法

    本篇文章是对Fedora14下自带jdk1.6版本,安装jdk1.7不识别的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Android自定义仿微信PopupWindow效果

    Android自定义仿微信PopupWindow效果

    这篇文章主要为大家详细介绍了Android自定义仿微信PopupWindow效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11

最新评论