3.2 更新
insert/ delete/ update 三个方法执行的流程几乎完全相同,以update方法为例进行论述。
update方法主要逻辑如下,
1,根据不同类型为参数赋值,
case ADN:
efType = IccConstants.EF_ADN;
subId = SubscriptionManager.getDefaultSubId();
break;
•••
2,调用updateIccRecordInEf方法进行操作,
boolean success = updateIccRecordInEf(efType, values, pin2, subId);
3,如果操作失败,就返回0,
if (!success) {
return 0;
}
否则,就调用notifyChange方法,已注册了该数据的界面可以进行重新加载数据库,更新UI等,
getContext().getContentResolver().notifyChange(url, null);
return 1;
主要是updateIccRecordInEf方法,这个方法和loadFromEf方法调用流程图完全相同,也是一个同步方法。因此,细节方面就不论述了,流程图如下,
IccPhoneBookInterfaceManager的updateAdnRecordsWithContentValuesInEfBySearch方法逻辑如下,</