Android开发中的SQLite事务处理,即beginTransaction()方法
2019独角兽企业重金招聘Python工程师标准>>>
使用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();
}
转载于:https://my.oschina.net/u/1014520/blog/192410
Android开发中的SQLite事务处理,即beginTransaction()方法相关推荐
- Android开发中的SQLite事务处理,即beginTransaction()方法...
以下是Android API的官方注解 beginTransaction Added in API level 1 void beginTransaction () Begins a transact ...
- Android开发中保存数据的四种方法方法
本文来自:安卓航班网 在Android开发中我们会接触到四种数据存储方式,每种存储方式都各有不同:以下安卓航班分别列举了Android开发中的不同存储方式的特点. 一,Preferences Pref ...
- Android 开发中一些很有用但你不知道的方法
English_Version:https://github.com/jiang111/awesome-android-tips/blob/master/README-en.md这里收集了大家常用的一 ...
- android开发中遇到的异常及解决方法
每次运行项目,可能因为粗心或者哪一行代码没有调用,会导致项目不能运行,出现异常. 以下就是我总结的各种异常,会一直更新. 1. Unable to find explicit activity cla ...
- Android开发中完全退出程序的三种方法
Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢? 这里给大家三种比较简单的方法实现. 首先要说明在B中直接使用finish(),接 ...
- Android 开发中使用Intent传递数据的方法
Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.short ...
- android代码实现手机加速功能吗,详解Android开发中硬件加速支持的使用方法
Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特性,使得绘制更加平滑,但是会多消耗一些内存. 开启或关闭硬件加速: 由于硬件加速自身并非完美 ...
- sqlite数据库android使用教程,Android开发教程之 SQLite数据库的使用
在开发Android应用程序时经常需要存储数据,Android系统提供了SQLite数据库,还提供了SQLiteOpenHelper类,使我们可以很方便的操作数据库.通过一个例子来说明在Android ...
- 安卓视频开发 mysql_在Android应用中使用SQLite数据库(传智播客视频笔记)
在Android应用中使用SQLite数据库 应用生成的数据库文件保存为/data/data/应用包名/databases/name.db,生成的文件可用SQLite Expert打开 (name是自 ...
- SQLite数据库及在Android开发中的基本使用
SQLite数据库及在Android开发中的基本使用 SQLite数据库的特点 轻量级数据库,无需搭建服务器. SQLite环境配置 这里提供从官网下载的方法,如果有Android Studio的项目 ...
最新文章
- 已调信号波形是怎样的_【鼎阳硬件智库原创 | 测试测量】初识任意波形发生器...
- 干货!任正非对话美国科技思想家,都说了些什么
- oracle日期导出mysql_oracle的数据导入到mysql中,遇到一个时间转换问题
- Maven内置属性及使用
- union all动态表_Excel VBA——动态显示图表
- Java临时缓存API –测试早期草案评审RI
- 一加8 Pro或将配备120Hz刷新率屏幕
- 华为平板matepad pro鸿蒙,华为MatePad Pro 2平板电脑入网:首款预装鸿蒙OS
- DNS练习之反向解析
- matlab 非线性方程组画图,使用matlab进行非线性方程组求解
- 【GoLang】GO语言系列--002.GO语言基础
- (转)mysql中InnoDB表为什么要建议用自增列做主键
- 函数在某点附近有界,但该点无极限值的例子
- win7无线局域网_局域网共享一键修复 19.3.13(推荐更新)
- 是HTML+CSS的学习笔记捏
- android系统应用更改内存,安卓root后必备神器:修改系统/清理内存神器
- Ubuntu16.04运行LSD-SLAM
- Oracle 基本语句语法
- Ural_1671. Anansi's Cobweb(并查集)
- (小程序) 客户签名及签名后页面整体转图片后上传
热门文章
- 信息检索评价标准计算
- coco数据集大小分类_COCO数据集的简单介绍
- 数据结构和算法liuyubobo_C++,java算法与数据结构-某课网价值166元实战教程
- android.mk ndk编译选项优化,Android NDK(ARM开发)使用NEON优化 - Fla
- 力扣-525 连续数组
- 蓝桥杯2019年第十届C/C++省赛C组第四题-质数
- linux驱动中使用定时器的设置
- 【模板】 线段树(部分功能)
- nodejs接收前端formData数据
- MyBatis基础入门《十七》动态SQL