插入联系人

插入联系人的步骤

[1]先往row_contacts表插入数据   contact_id

[2]在往data表里面插入数据  data1

//点击按钮 插入一条联系人信息
    public void click(View v) {
        Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
        Uri dataUri = Uri.parse("content://com.android.contacts/data");

        //[2]获取name phone email Textutils
        String name = et_name.getText().toString().trim();
        String phone = et_phone.getText().toString().trim();
        String email = et_email.getText().toString().trim();

        //[2.1]在插入联系人id的时候 先查询一下 row_contact 一共有几条数据    加+1就是联系人的id
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        int count = cursor.getCount();
        int contact_id = count +1;

        //[3] 先往row_contact表  插入联系人的id (contact_id)
        ContentValues values = new ContentValues();
        values.put("contact_id", contact_id);
        getContentResolver().insert(uri,values);

        //[4]在把name phone email 插入到data表
        ContentValues nameValues = new ContentValues();
        nameValues.put("data1", name);
        //☆ ☆ ☆ ☆ ☆ 插入的数据要告诉数据库 属于第几条联系人  和  数据类型
        nameValues.put("raw_contact_id", contact_id);
        nameValues.put("mimetype", "vnd.android.cursor.item/name");
        getContentResolver().insert(dataUri, nameValues);

        //[5]把phone号码 插入到data表
        ContentValues phoneValues = new ContentValues();
        phoneValues.put("data1", phone);
        phoneValues.put("mimetype", "vnd.android.cursor.item/phone_v2");
        phoneValues.put("raw_contact_id", contact_id);
        getContentResolver().insert(dataUri, phoneValues);

        //[5]把phone号码 插入到data表
        ContentValues emailValues = new ContentValues();
        emailValues.put("data1", email);
        emailValues.put("mimetype", "vnd.android.cursor.item/email_v2");
        emailValues.put("raw_contact_id", contact_id);
        getContentResolver().insert(dataUri, emailValues);

    }
时间: 2024-10-11 09:26:32

插入联系人的相关文章

android102 查询,插入联系人

package com.itheima.getcontacts; import com.itheima.getcontacts.domain.Contact; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.ContentResolver; import android.database.Cursor; import android.view

内容提供者(获取联系人信息和插入联系人)

一丶获取联系人的信息 点击获取联系人信息 public void click(View view){        //获取内容解析器        ContentResolver resolver = getContentResolver() ;        //设定访问的uri(系统本机)        Uri uri = Uri.parse("content://com.android.contacts/raw_contacts") ;//联系人的id        Uri d

作业:联系人管理

数据库表: 1.联系人表 contacts 1 -- Create table 2 create table CONTACTS 3 ( 4 id NUMBER not null, 5 name VARCHAR2(20) not null, 6 tel NVARCHAR2(20) not null, 7 groupid NUMBER not null 8 ) 9 tablespace TEST 10 pctfree 10 11 initrans 1 12 maxtrans 255 13 stora

Android 开发 ContentProvider 获取歌曲列表和联系人的样例

ContentProvider(内容提供者)是Android中的四大组件之中的一个. 主要用于对外共享数据.也就是通过ContentProvider把应用中的数据共享给其它应用訪问.其它应用能够通过ContentProvider对指定应用中的数据进行操作.ContentProvider分为系统的和自己定义的,系统的也就是比如联系人,图片等数据. 下面这段是Google Doc中对ContentProvider的大致概述. 内容提供者将一些特定的应用程序数据供给其他应用程序使用. 数据能够存储于文

Android基础笔记(十四)- 内容提供者读取联系人

利用内容提供者读取联系人 利用内容提供者插入联系人 内容观察者的原理 利用内容观察者监听系统应用数据库或者自己应用数据库的变化 利用内容提供者读取联系人 读取联系人相对于读取短信来说就复杂很多了,我们一步一步来吧. 先看看一下联系人的数据库,是位于什么地方! 既然很复杂,我们就一步步分析吧,我们把contacts2.db导出到电脑中,并使用SQLite数据库软件打开.你可以看到一大堆的表和视图,当然我们使用到的也只有三张.分别是raw_contacts.data.mimetypes分别存储着联系

Android读取系统联系人

使用 ContentProvider共享数据: 当应用继承 ContentProvider 类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽 然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外 共享数据,需要进行文件操作读写数据:采用 sharedpreferences 共享数据,需要使用 sharedpreferences API 读写数据.而使用 ContentProvider 共享数据的好处是 统一了数据访问方式 . 当

Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面

现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下.1.跳转到拨号界面,代码如下: 1)直接拨打 Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber)); startActivity(intentPhone); 2)跳转到拨号界面 Intent intent = newIntent(Intent.ACTION_DIAL,Uri.pars

Intent跳转到系统应用中的拨号界面、联系人界面、短信界面及其他

现在开发中的功能需要直接跳转到拨号.联系人.短信界面等等,查找了很多资料,自己整理了一下. 首先,我们先看拨号界面,代码如下: [java] view plaincopy Intent intent =new Intent(); intent.setAction("android.intent.action.CALL_BUTTON"); startActivity(intent); 和 [java] view plaincopy Uri uri = Uri.parse("te

获取联系人

①查询raw_contacts表 获取每一个联系人的contact_id值 ②拿着查到的这个contact_id 到data表中查询 (raw_contact_id这一列作为查询的条件)查mime_type_id 和 data1 data1的数据最终要保存起来 mimetype_id这一列的值是作为类型判断的依据 获取联系人private ArrayList<Contact> getContacts(ContentResolver resolver) { ArrayList<Contac