设置保存路径

private final static String DATABASE_PATH
= "/data"+ Environment.getDataDirectory().getAbsolutePath()+"/"+PACKAGE_NAME+"/database";

拷贝文件

public synchronized void  init(final Context context, final InitCallback callback){
new Thread(new Runnable() {
@Override
public void run() {
String databaseFilename = DATABASE_PATH + "/address.db";
File dir = new File(DATABASE_PATH);
LogW.out(DATABASE_PATH);
if (!dir.exists())
dir.mkdir();
if (!(new File(databaseFilename)).exists()) {
try {
// InputStream is = context.getResources().openRawResource(R.raw.address);
InputStream is = context.getResources().getAssets().open("address.db");
FileOutputStream fos = new FileOutputStream(databaseFilename);
byte[] buffer = new byte[2048];
int i = 0;
while ((i = is.read(buffer)) > 0) {
fos.write(buffer, 0, i);
}
fos.flush();
fos.close();
is.close();
} catch (IOException e) {
new File(databaseFilename).delete();
db = null;
callback.onError(e);
return;
}
}
db = SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);
callback.onSucess();
}
}).run();
}

将Asset中的数据库文件拷贝出来使用的更多相关文章

  1. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件

    XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...

  2. XamarinSQLite教程在Xamarin.Android项目中定位数据库文件

    XamarinSQLite教程在Xamarin.Android项目中定位数据库文件 实际开发中,经常需要验证数据库操作的正确性.这个时候,需要打开数据库文件,进行确认.下面是如何找到MyDocumen ...

  3. XamarinSQLite教程Xamarin.iOS项目中打开数据库文件

    XamarinSQLite教程Xamarin.iOS项目中打开数据库文件 以下是打开MyDocuments.db数据库的具体操作步骤: (1)将Mac电脑上的MyDocuments.db数据库移动到W ...

  4. XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件

    XamarinSQLite教程在Xamarin.iOS项目中定位数据库文件 开发者可以在指定的路径中找到复制的数据库文件,具体的操作步骤如下: (1)单击Mac电脑中Finder菜单中的“前往”|“前 ...

  5. Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式)

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装MySQL5.7.21 数据库安装文件夹为    /home/devil/mysql 现 ...

  6. 在ORACLE中移动数据库文件

    转载: 在ORACLE中移动数据库文件 --ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成. --由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等, --我們可能会考虑移动数 ...

  7. 在Linux系统中如何把文件拷贝到U盘

    Linux下把所有的都当成文件处理,如果在linux系统下需要拷贝文件,哪么你需要先把U盘挂载到系统中的某一个位置,然后再使用cp命令完成拷贝.   工具/原料 Linux操作系统一台 U盘一枚 方法 ...

  8. 借助91助手,将ibook中的pdf文件拷贝至其它的pdf阅读器中(ios设备无需越狱)

    有时候在使用ios自带的ibook阅读pdf文件的时候,会发现ibook有些功能并不是那么方便.最近我就遇到了一例,我想在ibook中放一本比较大的pdf书,页数有几百吧,pdf文件本身每一章节都是有 ...

  9. 将raw里面的数据库文件写入到data中

    package com.city.list.db; import java.io.File; import java.io.FileNotFoundException; import java.io. ...

随机推荐

  1. oracle 10g 学习之游标使用和异常介绍(11)

    一.游标 1. 使用游标 要求: 打印出 80 部门的所有的员工的工资: salary: xxx declare --1. 定义游标 cursor salary_cursor is select sa ...

  2. mysql导入出现MySQL Error 1153 - Got a packet bigger than 'max_allowed_packet' bytes

    解决办法: 就搞定了.

  3. django默认开事务的麻烦事

    最近DBA发现总是有大事务报警,最终排查到是因为django默认在查询之前执行了 set autocommit=0 原来,mysql如果开了set autocommit=0,那么所有的语句一定是在一个 ...

  4. volley 应用 GET POST请求 图片异步加载

    package com.example.volleydemo; import java.util.HashMap; import java.util.Map; import org.json.JSON ...

  5. 浅析十三种常用的数据挖掘的技术&五个免费开源的数据挖掘软件

    一.前 沿 数据挖掘就是从大量的.不完全的.有噪声的.模糊的.随机的数据中,提取隐含在其中的.人们事先不知道的但又是潜在有用的信息和知识的过程.数据挖掘的任务是从数据集中发现模式,可以发现的模式有很多 ...

  6. laraver ajax分页

    ,设置分页容器参考laraver手册 我的设置代码如下: ,控制器调用的方法:代码如下 );         include($path);         $content = ob_get_cle ...

  7. Codeforces Round #Pi (Div. 2) A. Lineland Mail 水

    A. Lineland MailTime Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/567/proble ...

  8. eclipse提示信息设置和提示信息操作

    1.提示信息设置 windows->preference->java->Editor->content Assist->Advance,选择需要提示的内容即可.如图所示: ...

  9. JavaScript案例二:在末尾添加节点

    简单实现通过JavaScript来增加HTML节点 <!DOCTYPE html> <html> <head> <title>JavaScript在末尾 ...

  10. Linux常用命令_(文件查看)

    文件查看主要有以下命令 cat.tac.more.less.head.tail.nl cat命令:是一个文本文件查看和连接工具.从第一个字节开始正向查看文件的内容,适用于小文件 以第一行开始,显示没有 ...