博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
启动Android App时,动态将Sqlite数据库文件导入到手机中类方法
阅读量:6921 次
发布时间:2019-06-27

本文共 2137 字,大约阅读时间需要 7 分钟。

package com.aqioo.db;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import com.aqioo.R; import android.content.Context;import android.database.sqlite.SQLiteDatabase;//在res文件夹下新建 raw 文件夹//数据库文件放在 \res\raw\test.db//在调用Sqlite的操作前实例化此类即可//code by:public class ImportDbFileToPhone {    //        /data/data/名称空间(com.aqioo)/databases    private static final String DATABASE_PATH = "/data/data/com.aqioo/databases";    private static final int DATABASE_VERSION = 0;    private static final String DATABASE_NAME = "test.db";//数据库    private static String outFileName = DATABASE_PATH + "/" + DATABASE_NAME;    private Context context;    private SQLiteDatabase database;    public ImportDbFileToPhone(Context context) {        this.context = context;        File file = new File(outFileName);        if (file.exists()) {            database = SQLiteDatabase.openOrCreateDatabase(outFileName, null);            if (database.getVersion() != DATABASE_VERSION) {                database.close();                file.delete();            }        }        try {            buildDatabase();        } catch (Exception e) {            e.printStackTrace();        }    }    private void buildDatabase() throws Exception {        InputStream myInput = context.getResources().openRawResource(                R.raw.aqiooapp);        File file = new File(outFileName);        File dir = new File(DATABASE_PATH);        if (!dir.exists()) {            if (!dir.mkdir()) {                throw new Exception("创建失败");            }        }        if (!file.exists()) {            try {                OutputStream myOutput = new FileOutputStream(outFileName);                byte[] buffer = new byte[1024];                int length;                while ((length = myInput.read(buffer)) > 0) {                    myOutput.write(buffer, 0, length);                }                myOutput.close();                myInput.close();            } catch (Exception e) {                e.printStackTrace();            }        }    }    }

 欢迎转载,转载请注明,希望帮到更多人。

 

转载于:https://www.cnblogs.com/yonsy/p/3216520.html

你可能感兴趣的文章
SpringBoot集成Quartz
查看>>
commons-cli java 命令行的实现(类似linux)
查看>>
Maven使用deploy上传jar包到远程库
查看>>
Linux查看swap占用情况
查看>>
IOS开发网络第一天之01耗时操作
查看>>
notepad++设置网络代理
查看>>
linux服务器管理系统wdcp v2.5.7版本发布
查看>>
王爽《汇编语言》实验10
查看>>
java:均值哈希实现图像内容相似度比较(图像视频相似度算法)
查看>>
【js与jquery】jquery之放大镜插件源码分析
查看>>
php闭包
查看>>
android robotium FragmentActivity
查看>>
教你步步为营掌握自定义ViewGroup
查看>>
向 JasperReports Server 发布报表
查看>>
Maven Jetty 启动,修改html,jsp等文件无法保存
查看>>
获取在FORM表单里面的radio值并传向父页面(text)控件中
查看>>
oss 客户端查看私有bucket
查看>>
Canvas和Paint实例
查看>>
Redis 3 配置详解
查看>>
Spring容器中Bean的生命周期
查看>>