启动Android App时,动态将Sqlite数据库文件导入到手机中类方法
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();
} }
} }
欢迎转载,转载请注明出处,希望帮到更多人。
启动Android App时,动态将Sqlite数据库文件导入到手机中类方法的更多相关文章
- WEKA从sqlite数据库文件导入数据
1.编写代码的方式 只需要在java工程中导入weka.jar和sqlite-jdbc-3.8.7.jar两个jar包, weka.jar可以在weka的安装路径下找到, sqlite-jdbc-3. ...
- sqlite数据库文件导入到sqlserver 2016-03-26 21:55 1292人阅读 评论(1) 收藏
最近在公司做项目,需要做两个版本,都是cs的,然后要求是一个单机版,自带数据库,另一个要进行局域网内的连接,所以公司的大牛设计是,局域网版的用sqlserver2008,单机版的则用sqlite.然后 ...
- 在 Android 应用程序中使用 SQLite 数据库以及怎么用
part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...
- 在Android中查看和管理sqlite数据库
在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看.android项目中的sqlite数据库位于/data/data/项目包/databas ...
- Android 批量插入数据到SQLite数据库
Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知.因此在Android中插入数据时,使用批量插入的方式 ...
- Android批量插入数据到SQLite数据库
Android中在sqlite插入数据的时候默认一条语句就是一个事务,因此如果存在上万条数据插入的话,那就需要执行上万次插入操作,操作速度可想而知.因此在Android中插入数据时,使用批量插入的方式 ...
- Android虚拟机中的sqlite数据库文件
Android虚拟机中的sqlite数据库文件 ①
- 【转】Phonegap离线调用SQLite数据库文件
按:不可多得的好文章,转过来以免源丢失 文章来源:http://liuwei.co/index.php/default/The-quickest-way-to-execute-many-sql-for ...
- 修复 SQLite 数据库文件
目 录 第1章 说明 1 1 下载SQLite Tools 1 2 运行 2 第1章 说明 笔者编写的一个程序,无法往 SQLite 数据库文件里写数据.使用SQLiteSpy打开该 ...
随机推荐
- MySQL安装(windows版本)
1.下载.MySQL http://dev.mysql.com/downloads/mysql/ 下载windows的zip包,解压后,添加path路径bin, 系统环境变量->path-> ...
- Freemarker全部文档和具体实例
自己查找到了一些相关的资料分享给大家,有兴趣的可以去看看! Freemarker全部文档:http://www.open-open.com/doc/list/101?o=p
- Jenkins+Jmeter+Ant自动化集成及邮件正文以html输出
一.工具的安装与环境变量配置 1.依次安装Jenkins+Jmeter+Ant,具体安装步骤,此文不再详述 2.配置Jmeter&ant环境变量 Jmeter变量: 验证是否配置成功:cmd窗 ...
- taglib简介
在 JSP最佳实践的 上一期,您学习了一种基于scriptlet的技术,这种技术被用来将上次修改的时间戳添加到JavaServer Page(JSP)文件中.不幸的是,比起它所提供的短期利益,scri ...
- springboot 项目添加jaeger调用链监控
1.添加maven依赖<dependency> <groupId>io.opentracing.contrib</groupId> <artifactId&g ...
- (转)Android学习-使用Async-Http实现图片压缩并上传功能
(转)Android学习-使用Async-Http实现图片压缩并上传功能 文章转载自:作者:RyaneLee链接:http://www.jianshu.com/p/940fc7ba39e1 让我头疼一 ...
- 【解决办法--实测可行】Partition 1 does not start on physical sector boundary.
新的硬盘使用fdisk进行划分的时候有提示Partition 1 does not start on physical sector boundary.后面按网上找的办法,在fdisk进行分区的时候, ...
- 教你避雷!网页设计中常见的17个UI设计错误集锦(附赠设计技巧)
以下内容由摹客团队翻译整理,仅供学习交流,摹客iDoc是支持智能标注和切图的产品协作设计神器. 精心设计的用户界面对网站意义重大.具备所有最新功能和响应式设计有助于提高网站的搜索引擎排名,从而增加受众 ...
- jvm 基础
1. JDK 包含 java 程序设计语言,JVM, Java API类库. java 开发最小环境 2. JRE : Java API类库中java se API 子集和java 虚拟机(HotSp ...
- Imageview 按比例适应屏幕大小
DisplayMetrics dm = new DisplayMetrics();//取得窗口属性getWindowManager().getDefaultDisplay().getMetrics(d ...