在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...

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

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

Android创建和使用数据库

一、关系型数据库SQLIte         每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的、与操作系统无关的SQL数据库—SQLite。SQLite第一个Alp...

android SQLite存储简单范例+详细注释(增删查改)

笔者近期做数据库,在adb shell的su权限上花了特别多的时间,一直在纠结为什么自己的荣耀6手机不能一键root,期间使用了5款一键root的软件,并且也考虑过了手机解锁,然而却忽视了androi...

Android 使用存放在存assets文件夹下的SQLite数据库

因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面。一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机...

Android开发之数据库备份

Android开发之数据库备份用过市面上刷题App/诸如驾考宝典这样的App/的用户应该知道,离线状态也是可以刷题的,这就表明了题库并不是在服务器或者云端数据库上,而是用本地的SQLite数据库存储的...

Android学习之创建和使用数据库

Android使用的是SQLite数据库系统,为一个应用程序所创建的数据库只能被此应用程序访问,其他应用程序不能访问! 下面的程序片段将说明如何以编程的方式在Android应用程序中创建一个SQ...

android--sqlite数据库创建的真正时候

最近项目不忙,打算自己封装android 数据库的操作。以前都是把别人的代码copy下来就用,今天意识到自己不亲手写一遍,东西始终是别人的。       如果想要在android中使用数据库,使...

解决:Android使用自带sqlite开发时,apk中创建的数据库外部的进程是没有权限去读/写的,而且无法如何读取指定目录下的db文件

SQLiteOpenHelper是Android框架为我们提供的一个非常好的数据库打开、升级与关闭的工具类。但是这个工具类会自动把db文件创建到“ /data/data/com.*.*(package...

Android操作 自带数据库 SQLite

  • 2015年05月07日 10:00
  • 1.41MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在android项目里使用自带的SQLite数据库
举报原因:
原因补充:

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