SQLite 没插入一条数据默认创建一次事务

通过显示调用事务,可以提高SQLite操作的性能


        String[] sCheeseNames = {"a","b","a","b","a","b","a","b"};        String[] sCheeseOrigins = {"aa","bb","aa","bb","aa","bb","aa","bb"};        SQLiteDatabase db = SQLiteDatabase.create(null);        try {            db.beginTransaction();//开启事务                        SQLiteStatement stmt = db.compileStatement("INSERT INTO cheese VALUES(?,?)");                  int i = 0;                  for (String name:sCheeseNames){                      String origion = sCheeseOrigins[i++];                      stmt.clearBindings();                      stmt.bindString(1, name);                      stmt.bindString(2, origion);                      stmt.executeInsert();                  }              db.setTransactionSuccessful();//事务提交} catch (Exception e) {// TODO: handle exception}finally{db.endTransaction();//事务回滚}

当数据库做持久存储时,特别是存储在外部sd卡时,更应该采用一次性事务!

更多相关文章

  1. Android布局文件的加载过程分析:Activity.setContentView()源码
  2. 使用SQLiteOpenHelper 和使用ContentProvider。
  3. Android(安卓)访问WebService
  4. Android(安卓)UI- 对话框 (AlertDialog & ProgressDialog)
  5. 使用android画布的save()和restore()方法
  6. android studio中的so库调用
  7. Android(安卓)调用系统拍照 笔记 - 会说话的哑巴的个人页面 - 开
  8. Android(安卓)Binder框架实现之bindService详解
  9. Android(安卓)display架构分析(5-8)

随机推荐

  1. tools:context=".MainActivity的作用
  2. Android(安卓)AOSP基础(四)Source Insight
  3. convertview机制
  4. Android(安卓)AOSP基础(四)Source Insight
  5. 【1510-14】大规模登陆界面
  6. Android(安卓)的设计模式---责任链模式
  7. android 写入收件箱
  8. 监听android:drawableLeft和android:draw
  9. aaa
  10. android 写入收件箱