在前面有提到批量添加联系人:Android批量添加联系人到通讯录,通话记录和通讯录一样都是直接操作ContentProvider。为了使批量更新、插入、删除数据更加方便,android系统引入了 ContentProviderOperation类,使用ContentProviderOperation的理由
1.所有的操作都在一个事务中执行,这样可以保证数据完整性
2.由于批量操作在一个事务中执行,只需要打开和关闭一个事务,比多次打开关闭多个事务性能要好些
3.使用批量操作和多次单个操作相比,减少了应用和content provider之间的上下文切换,这样也会提升应用的性能,并且减少占用CPU的时间,当然也会减少电量的消耗。
首先定义一个通话记录的实体类
package com.csr.BTApp.apical.domain;
public class Tb_calllogs {
private String mNumber; // 号码
private String mName; // 在通讯录中的联系人
private int mCallLogType; // 通话记录的状态 1:来电 2:去电 3:未接
private Long mCallLogDate; // 通话记录日期
private int mCallLogDuration; // 通话记录时长
public Tb_calllogs() {
}
public Tb_calllogs(String mNumber, String mName, int mCallLogType,
Long mCallLogDate, int mCa