使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事务处理应用:很多时候我们需要批量的向Sqlite中插入大量数据时,单独的使用添加方法导致应用响应缓慢, 因为sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。如初始8000条记录也就是要8000次读写磁盘操作。同时也是为了保证数据的一致性,避免出现数据缺失等情况。

SQLiteDatabase db = dbOpenHelper.getWritableDatabase();

//开启事务

db.beginTransaction();

try{

//批量处理操作

//do something

db.execSQL("SQL语句", new Object[]{});

db.execSQL("SQL语句", new Object[]{});

//设置事务标志为成功,当结束事务时就会提交事务

db.setTransactionSuccessful();

}

catch(Exception e){



}



finally{

//结束事务

db.endTransaction();

}

更多相关文章

  1. android Java 提交数据到服务器的两种方式中四种方法
  2. android之drawable属性
  3. Android(安卓)fragment生命周期解析
  4. 【Gradle】Android(安卓)Gradle 高级自定义
  5. 基于SearchView实时搜索结果
  6. Android(安卓)平板开发关闭一个Fragment的方法
  7. Android如何判断设备为Pad?
  8. 获取不到或者不更新intent传递的数据
  9. Android开发之屏幕元素层次结构

随机推荐

  1. 常用Android快速开发框架
  2. Android(安卓)中级教程(一)之------Andro
  3. android中下载文件到sdcard和进度条小结
  4. 在Android中,px,dp,dip,sp的不同之处
  5. android ndk log
  6. android 系统开发之开机动画
  7. 性能优化之Java(Android)代码优化
  8. Android多分辨率适配框架(2)— 原理剖析
  9. Android节拍器
  10. Android(安卓)UI布局之RelativeLayout