Android基礎第五天易忘部分
內容提供者的事務:
private Uri rawContactsUri = Uri.parse("content://com.android.contacts/raw_contacts");
private Uri datasUri = Uri.parse("content://com.android.contacts/data");
public void insertContact() {
try {
ArrayList<ContentProviderOperation> list = new ArrayList<ContentProviderOperation>();//所有事務的操作都在這個集合裡
ContentProviderOperation operation1 = ContentProviderOperation.newInsert(rawContactsUri).withValue("_id", null).build();
ContentProviderOperation operation2 = ContentProviderOperation.newInsert(datasUri)
.withValueBackReference("raw_contact_id", 0)//把同組第一個操作的結果作為值,因為這4個操作是一個事務,第一個操作還沒執行第二個操作又需要用到第一個操作的返回值
.withValue("mimetype", "vnd.android.cursor.item/name")//要新增的內容
.withValue("data1", "皮卡丘")//要新增的內容
.build();
ContentProviderOperation operation3 = ContentProviderOperation.newInsert(datasUri)
.withValueBackReference("raw_contact_id", 0)
.withValue("mimetype", "vnd.android.cursor.item/phone_v2")
.withValue("data1", "15555555555")
.build();
ContentProviderOperation operation4 = ContentProviderOperation.newInsert(datasUri)
.withValueBackReference("raw_contact_id", 0)
.withValue("mimetype", "vnd.android.cursor.item/email_v2")
.withValue("data1", "888@gmail.com")
.build();
list.add(operation1);
list.add(operation2);
list.add(operation3);
list.add(operation4);
getContentResolver().applyBatch("com.android.contacts", list);//執行事務,新增聯絡人
Toast.makeText(getApplicationContext(), "新增成功", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
相關文章
- Android基礎第四天易忘部分Android
- Android基礎第一天易忘部分Android
- Android基礎第十一天易忘部分Android
- Android基礎第八天易忘部分(Activity)Android
- Android基礎第九天易忘部分(載入大圖片和縮放圖片)Android
- Activity面試彙總, 打牢那些被易忘的基礎知識面試
- java基礎部分Java
- java基礎題(部分)Java
- Java基礎部分6Java
- 常用易忘sqlSQL
- Android 基於ffmpeg開發簡易播放器 – 基礎知識Android播放器
- Android 基於ffmpeg開發簡易播放器 - 基礎知識Android播放器
- java基礎易混點Java
- 『現學現忘』Git基礎 — 13、Git的基礎操作Git
- 貝塞爾曲線基礎部分
- JavaScript部分基礎知識點JavaScript
- java基礎部分總結2Java
- linux基礎知識整理(備忘)Linux
- Android基礎Android
- JavaScript學習筆記——基礎部分JavaScript筆記
- 面試題收集——Java基礎部分(一)面試題Java
- 第六週基礎部分作業
- Android基礎—FragmentAndroidFragment
- linux常用易忘命令收集Linux
- 面試問題記錄 一 (基礎部分)面試
- OkHttp深入分析——基礎認知部分HTTP
- JavaScript學習總結(一)基礎部分JavaScript
- java基礎部分程式碼相關題Java
- 『現學現忘』Git基礎 — 21、git diff命令Git
- 『現學現忘』Git基礎 — 3、Git介紹Git
- 『現學現忘』Git基礎 — 14、Git基礎操作的總結與補充Git
- CSS核心概念一把梭-基礎部分CSS
- 網站組成部分基礎知識分享網站
- 面試中的那些 Git 問題 - 基礎部分面試Git
- 編輯器之神VIM 總結 基礎部分
- Java記憶體模型深度解析:基礎部分Java記憶體模型
- Android基礎知識Android
- Android 基礎之 HandlerAndroid