上文中《Android 獲取系統的聯繫人》主要介紹了怎樣獲取系統聯繫人並實戰了一下,本文將介紹如何添加一條聯繫人信息 添加聯繫人 1. 添加raw_contacts表,添加一條聯繫人的id 2. 操作data表,插入聯繫人的數據,每個聯繫人數據都對應一列 raw_contact_id 新建項目,佈局 ...
上文中《Android 獲取系統的聯繫人》主要介紹了怎樣獲取系統聯繫人並實戰了一下,本文將介紹如何添加一條聯繫人信息
添加聯繫人
1. 添加raw_contacts表,添加一條聯繫人的id
2. 操作data表,插入聯繫人的數據,每個聯繫人數據都對應一列 raw_contact_id
新建項目,佈局文件代碼如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入聯繫人的姓名" /> <EditText android:id="@+id/et_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入聯繫人的電話" /> <EditText android:id="@+id/et_email" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入聯繫人的郵箱" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="save" android:text="提交數據" /> </LinearLayout>
添加相關代碼
package com.wuyudong.addcontact; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.text.TextUtils; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText et_name; private EditText et_phone; private EditText et_mail; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_name = (EditText) findViewById(R.id.et_name); et_phone = (EditText) findViewById(R.id.et_phone); et_mail = (EditText) findViewById(R.id.et_email); } public void save(View view) { String name = et_name.getText().toString().trim(); String phone = et_phone.getText().toString().trim(); String email = et_mail.getText().toString().trim(); if (TextUtils.isEmpty(name) || TextUtils.isEmpty(phone) || TextUtils.isEmpty(email)) { Toast.makeText(this, "內容不能為空", 0).show(); } else { // 保存數據 ContentResolver resolver = getContentResolver(); Uri uri = Uri.parse("content://com.android.contacts/raw_contacts"); Uri datauri = Uri.parse("content://com.android.contacts/data"); Cursor cursor = resolver.query(uri, null, null, null, null); int count = cursor.getCount(); ContentValues values = new ContentValues(); int contact_id = count + 1; values.put("contact_id", contact_id); resolver.insert(uri, values); // 2.插入具體的數據到data表,數據類型,data1具體的數據 ContentValues namevalue = new ContentValues(); namevalue.put("mimetype", "vnd.android.cursor.item/name"); // 指定數據類型 namevalue.put("data1", name); namevalue.put("raw_contact_id", contact_id); // 一定要記得指定數據屬於哪個聯繫人 resolver.insert(datauri, namevalue); ContentValues emailvalue = new ContentValues(); emailvalue.put("mimetype", "vnd.android.cursor.item/email_v2"); emailvalue.put("data1", email); emailvalue.put("raw_contact_id", contact_id); resolver.insert(datauri, emailvalue); ContentValues phonevalue = new ContentValues(); phonevalue.put("mimetype", "vnd.android.cursor.item/phone_v2"); phonevalue.put("data1", phone); phonevalue.put("raw_contact_id", contact_id); resolver.insert(datauri, phonevalue); Toast.makeText(this, "添加成功", 0).show(); } } }