Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android 利用內容提供者添加聯系人的操作,android提供者

Android 利用內容提供者添加聯系人的操作,android提供者

編輯:關於android開發

Android 利用內容提供者添加聯系人的操作,android提供者


上文中《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();

        }

    }

}

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved