一.创建表:

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】SQLite数据库的简单使用
  2. Android 定时到服务器取数据并刷新
  3. android 客户端 smtp 协议发送数据
  4. Android 导出数据库到Excel表格功能
  5. android中listview分批加载数据
  6. Android本地数据搜索实现
  7. Android studio连接Bmob云数据库教程
  8. Android清除本地数据缓存代码案例
  9. android通过httpClient请求获取JSON数据并且解析

随机推荐

  1. 诺奖得主Akerlof 猛批“遗漏之罪与经济学
  2. Bandit算法在携程推荐系统中的应用与实践
  3. iOS面试题,性能优化篇!
  4. 实证应用经济学中的稳健性检验是什么? 怎
  5. AI与人,“替代”还是 “共生”
  6. 双胞胎数据! 中国父母把子女当一种理性投
  7. 父母为什么要买学区房? Top经济学家告诉
  8. Apache Flink OLAP引擎性能优化及应用
  9. 中国学界F4发表AER一篇! 知识青年上山下
  10. 整理了34篇关于中介, 调节和机制分析的文