一.创建表:

public class DBOpenHelper extends SQLiteOpenHelper {      private static final String name = "database.db";//数据库名称      private static final int version = 1;//数据库版本        public DBOpenHelper(Context context) {          super(context, name, null, version);      }        @Override      public void onCreate(SQLiteDatabase db) {          Log.e("DBOpenHelper", "DBOpenHelperDBOpenHelperDBOpenHelperDBOpenHelper");          db.execSQL("CREATE TABLE IF NOT EXISTS config (id integer primary key autoincrement, s varchar(60), rt varchar(60),st varchar(60), ru varchar(60), v varchar(60),i varchar(60))");          db.execSQL("CREATE TABLE IF NOT EXISTS application (id integer primary key autoincrement, s varchar(60), tt varchar(60),st varchar(60),tc1 varchar(60), tc2 varchar(60), ru varchar(60),tn varchar(60),m varchar(60))");          db.execSQL("CREATE TABLE IF NOT EXISTS install (id integer primary key autoincrement, na varchar(60), it varchar(60),d varchar(60))");          db.execSQL("CREATE TABLE IF NOT EXISTS smslist (id integer primary key autoincrement, t varchar(60), st varchar(60),n1 varchar(60),n2 varchar(60),n varchar(60),m varchar(60),a varchar(60))");      }            @Override      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {          Log.e("DBOpenHelper", "onUpgradeonUpgradeonUpgradeonUpgrade");          db.execSQL("DROP TABLE IF EXISTS config");          db.execSQL("DROP TABLE IF EXISTS application");          db.execSQL("DROP TABLE IF EXISTS install");          db.execSQL("DROP TABLE IF EXISTS smslist");          onCreate(db);                }  }      

数据库插入多条数据使用事务能提高效率:

应用程序初始化时需要批量的向sqlite中插入大量数,导致应用启动过慢。

android使用的是sqlite数据库,sqlite是比较轻量级的数据库,sqlite事务处理的问题,在sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。我的应用初始5000条记录也就是要5000次读写磁盘操作。

解决方法:

添加事务处理,把5000条插入作为一个事务

dataBase.beginTransaction();//手动设置开始事务

//数据插入操作循环

dataBase.setTransactionSuccessful();//设置事务处理成功,不设置会自动回滚不提交

dataBase.endTransaction();//处理完成


详解参考:

http://www.20864.com/201247/274.html

http://my.oschina.net/laiwanshan/blog/99982


更多相关文章

  1. 基于Android的短信管理系统
  2. 【Android】SQLite数据库的简单使用
  3. Android(安卓)添加删除联系人2.0之前与2.0之后
  4. Android(安卓)导出数据库到Excel表格功能
  5. Android(安卓)studio连接Bmob云数据库教程
  6. android nosql 数据库对比 Realm vs ObjectBox
  7. Android(安卓)使用ORMLite 操作数据库
  8. android Sqlite多线程访问异常解决方案
  9. Android(安卓)短信数据库详细介绍

随机推荐

  1. Android】获取Mac地址
  2. AndroidStudio 使用技巧:无法删除 Androi
  3. Android之十一实现登陆页面分析
  4. android编码问题
  5. Ubuntu 配置 Android 开发 环境
  6. Android加载/处理超大图片神器!
  7. Android XML文件 Error parsing XML: unb
  8. ReactNative 调用Android 原生(二)——原生
  9. android相机预览
  10. Android学习_android镜像