浅谈android应用启动数据迁移
来源:互联网 发布:泛雅网络教学平台下载 编辑:程序博客网 时间:2024/06/05 09:55
应用启动,无可避免会涉及到数据的导入、初始化的工程,当然数据量小没有任何问题,直接insert就OK,在数据量大的情况下,记录一下几种数据初始化方法。
1.批量插入:
android使用的是sqlite数据库,sqlite是比较轻量级的数据库,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。
假设我的应用初始5000条记录也就是要5000次读写磁盘IO操作。
添加事务处理,把5000条插入作为一个事务
dataBase.beginTransaction(); //手动设置开始事务//数据插入操作循环dataBase.setTransactionSuccessful(); //设置事务处理成功,不设置会自动回滚不提交dataBase.endTransaction(); //处理完成
2.直接拷贝数据库(慎用):
首先将准备好的静态数据库文件放到Android工程的res目录中的raw子目录下面,如果没有这个子目录的话就手动创建该目录,然后在应用的初始化阶段通过类似下面的代码将数据库文件拷贝到特定的目录下面,假设Android应用的包名是com.test,那么大部分情况下该应用默认的数据库文件位于/data/data/com.test/databases目录下面
String dbDirPath = "/data/data/com.test/databases";File dbDir = new File(dbDirPath);if(!dbDir.exists()) // 如果不存在该目录则创建 dbDir.mkdir();InputStream is = context.getResources().openRawResource(R.raw.data);FileOutputStream os = new FileOutputStream(dbDirPath+"/data.db");byte[] buffer = new byte[1024];int count = 0;while ((count = is.read(buffer)) > 0) { os.write(buffer, 0, count);}is.close();os.close();
- 浅谈android应用启动数据迁移
- 浅谈Android数据库版本升级及数据的迁移
- 浅谈Android应用性能之启动时间
- 浅谈Android应用性能之启动时间
- 数据迁移技术及应用
- 向 Android O 迁移应用
- 向 Android O 迁移应用
- Mysql 数据迁移后 启动出错
- Mysql 数据迁移后 启动出错
- Android SQLite升级 数据迁移
- 浅谈大数据行业应用
- 云应用数据备份及迁移方案
- 浅谈Android四种启动模式及应用场景--standrad、singleTop、singleTask、singleInstance
- 浅谈桌面启动一个应用Activity
- Android O 迁移应用官方指南
- Android O 迁移应用官方指南
- 浅谈Android应用的构成
- 浅谈Android应用性能之内
- UITextField的圆角和常用样式
- Ubuntu12.04 64位安装Foxit Reader
- Navicat 数据模型
- 敏捷开发一千零一问系列之三十五:如何获取准确需求?(兼谈精益创业)
- android关于scrollview嵌套ExpandableListView的实现2
- 浅谈android应用启动数据迁移
- ASIHTTPRequest简单使用
- Cannot connect to xxx.xxx.xxx.xxx when downloading iOS app by OTA
- Android 编译 zlib
- DWR + ssh2 整合
- 关于jqgrid中如何从editurl取得返回值的解决方法
- linux下mysql root密码丢失
- OWC11绘制双轴图表
- VC++6.0在64位Win7下不能安装、VC++6与Office2007(10)不兼容的问题