在android项目里使用自带的SQLite数据库

原创 2016年05月30日 12:19:30

最近在项目中需要在App中内置股票码表和公司名,实现在不联网状态下,第一是使用App也能搜索到公司名和码表信息,试了很多网上方法,困扰了一天,最后采取如下方法解决;使用android默认的访问sqlite的方法,访问的是:data/data/你的项目package/database/数据库名称 下的数据库,假如要在项目中打包db文件,该怎么弄呢?

有些时候我们的软件用到SQLite数据库,这个时候怎么把一个做好的数据库打包进我们的APK呢,其实很简单,就是把我们的数据库文件放到我们的手机里,所以不必局限在哪个地方写这个代码,在第一次创建数据库的时候可以,我觉得在软件起动页里效果更好一点,首先我们应该把事先写好的数据库文件比如
test.db放到res文件夹里的raw文件夹里,也可以放到assets里,因为这两个文件夹不会在生成APK的时候不会被压缩。

  /**
     * 外部数据库文件导入
     */
    private void writeFileDbToSqlite() {

        String DB_PATH = "/data/data/com.lsh.irr/databases/";
        String DB_NAME = "irr.db";

        File file = new File(DB_PATH);

        if (!file.exists()) {

            // 如 database 目录不存在,新建该目录
            if (!file.exists()) {

                file.mkdir();
            }

            try {
                // 得到 assets 目录下我们实现准备好的 SQLite 数据库作为输入流
                InputStream is = this.getAssets().open(DB_NAME);
                // 输出流
                OutputStream os = new FileOutputStream(DB_PATH + DB_NAME);

                // 文件写入
                byte[] buffer = new byte[1024];
                int length;
                while ((length = is.read(buffer)) > 0) {
                    os.write(buffer, 0, length);
                }

                // 关闭文件流
                os.flush();
                os.close();
                is.close();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
 */ 初始化sqlite*/
    private void initSqlite() {

        writeFileDbToSqlite();
        .......
        }
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android中自带的SQLite数据库

当我们需要存储大量数据的时候就需要数据库,Android自带了一种轻量级数据库SQLite。SQLite甚至不需要安装和启动服务进程,它只是一个后缀为.db的数据库文件,但它支持SQL语句。 关于S...
  • QuietShake
  • QuietShake
  • 2016年10月18日 21:16
  • 6320

android SQLite开发实例

  • 2016年01月28日 18:07
  • 1.61MB
  • 下载

android中的数据库操作

android中的数据库操作       android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作。   一、android内的数据库的基础知识介绍   ...
  • nieweilin
  • nieweilin
  • 2010年10月02日 21:38
  • 157801

Android实现一个简单的SQLite数据库的增删改查

Android实现一个简单的SQLite数据库的增删改查
  • shaowanyunBLOG
  • shaowanyunBLOG
  • 2017年04月29日 14:18
  • 659

android之存储篇_SQLite数据库_让你彻底学会SQLite的使用

SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。 例如:可以在Integer类型的字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中...
  • jason0539
  • jason0539
  • 2013年08月24日 07:51
  • 178856

python操作内置Sqlite数据库

转载自:http://www.cnblogs.com/yuxc/archive/2011/08/18/2143606.html 简单的介绍       SQLite数据库是一款非常小巧的嵌...
  • mozart_cai
  • mozart_cai
  • 2014年02月14日 17:33
  • 2568

Android之SQLite数据库的使用

SQLite是比较小而功能比较全的关系型数据库,下面介绍一下SQLite数据库的使用方法,及增删改查操作。 创建一个Android项目; 首先我们需要创建一个DatabaseHelper这个助手类...
  • jjaze3344
  • jjaze3344
  • 2012年02月10日 21:13
  • 36938

Android数据库安全解决方案(转)

【原文地址 点击打开链接】 【原文地址 点击打开链接】 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11952409 我...
  • wenyiqingnianiii
  • wenyiqingnianiii
  • 2016年09月21日 15:38
  • 1098

两个activity共享数据的另一种方法(个人学习笔记)

有时在项目中遇到这种情况,一个activity需要给另外一个activity中传替一个集合,可能有时集合中的数据比较大,可能好几兆,用如下这种方式传替时,如果是一些老旧设置会导致设备很慢,占用内存太大...
  • qq_35489749
  • qq_35489749
  • 2017年01月11日 17:50
  • 186

Tomcat内置数据源

1、tomcat内置了DBCP数据源    在tomcat的安装目录下的lib目录下导入数据库驱动包    在Context.XML中配置数据源,有五个位置可以配置,参考tomcat文档    ...
  • laixiao_hero
  • laixiao_hero
  • 2014年09月17日 17:47
  • 576
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在android项目里使用自带的SQLite数据库
举报原因:
原因补充:

(最多只允许输入30个字)