做Android开发的朋友肯定对使用ContentProvider插入数据并不陌生,通常我们使用ContentProvider基本都是经历如下两个步骤:
- 声明定义ContentProvider及其相关的URI,编写Provider中对应的增删改查方法;
- 使用ContentResolver及其对应的URI来对ContentProvider进行增删改查操作;
对于使用ContentProvider进行插入操作,分别可以使用insert、bulkInsert两个API接口,前者用于单条数据插入操作,后者则更适合批量数据插入操作,简单的了解了一遍ContentProvider的相关知识后,来看看下面这段代码:
public static void addOrUpdateContacts(Context context, Collection<ContactStruct> contacts) {
if (contacts == null || contacts.isEmpty()) {
return;
}
final int kCount = contacts.size();
ContentValues[] valuesArray = new ContentValues[kCount];
int pos = 0;
for (ContactStruct contact : contacts) {
ContentValues values = new ContentValues();
values.put(ContactTable.COLUMN_UID, contact.uid);
values.put(ContactTable.COLUMN_NAME, contact.name);
values.put(ContactTable.COLUMN_PHONE, contact.phone);
values.put(ContactTable.COLUMN_PINYIN, contact.piny