今天不太忙,有时间写点东西了。我想说的就是数据库问题,记得年前开发过一个项目把我整的够惨,当时从服务器获取的数据有几千条,于是很想当然的把数据插入到了数据库,结果效率那个低啊,大约三分钟才把这些数据插入完成,因为我没插入一条数据系统默认commit一次,循环几千次效率可想而知了,但是就考虑有没有提高效率的方法,记得MysqL里面有事务,我想Android中是否也有事务于是查了一下资料果然有:

下面介绍一下Android事务的用法

1.db.beginTransaction(); 循环之前开启事务

2.db.setTransactionSuccessful(); 循环结束后调用

3.db.endTransaction();最后释放事务

贴一下示例代码

List<DownloadMeterData> list = GetDownloadMeterData.getDownloadMeter(string);helper.beginTransaction();for (int i = 0; i < list.size(); i++) {DownloadMeterData data = list.get(i);Meter meter = new Meter();meter.setId("" + i);meter.setAddress(data.getF_Addr());meter.setBlock(data.getF_BuildingName());
                                       }helper.TransactionSuccessful();} catch (Exception e) {runOnUiThread(new Runnable() {@Overridepublic void run() {// TODO Auto-generated method stubmydialog.dismiss();Toast.makeText(XmlActivity.this, "当前网络不稳定,请稍候再试", 2000).show();}});} finally {helper.EndTransaction();}

这样做完之后时间由之前的3分钟变为现在的几秒钟

更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. Android(安卓)大图片裁切时遇到的问题
  3. Android(安卓)sdcard媒体文件更新(程序控制刷新MediaStore数据库)
  4. 写了个Android聊天客户端框架,基本聊天功能、数据库、服务器都有
  5. Android用surface直接显示yuv数据(一)
  6. BitmapFactory类的decodeStream方法在网络超时或较慢的时候无法
  7. android 自定义坐标曲线图
  8. android ContentProvider ApplyBatch
  9. 两个小时精通Android开发之数据持久存储篇

随机推荐

  1. 修改AVD的存放位置
  2. 新书出版:《Android深度探索(卷1):HAL与驱动
  3. Android(安卓)和H5之间的交互-基础篇
  4. android 基本架构
  5. Android(安卓)无线接口层RIL(Radio Layer
  6. 前阿里技术总监手打:452页Android(安卓)Fr
  7. 【Android(安卓)UI】Android开发之View的
  8. android连接mysql数据库
  9. 前阿里技术总监手打:452页Android(安卓)Fr
  10. Android系统移植(三)-按键字符表