gengen201314 发表于 2013-2-1 12:10:00

操作android中的通讯录

android中的通讯录Contacts,在数据库中主要涉及到contact表,raw_contacts,data表
1,读取contact中的数据(通过测试用例的方法来演示)
(1),创建测试方法
(2),在AndroidManifest.xml配置对测试用例的支持
    方法:在
<application>
<activity>
之间加入<uses-library android:name="android.test.runner" />
(3),设置访问通讯录的权限:
在AndroidManifest.xml配置如下:
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />

(4),通过ContentResolver来访问通讯录的contentprovider
代码如下:
AndroidManiFest.xml配置:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="cn.com.simon.junit"      android:versionCode="1"      android:versionName="1.0">    <uses-sdk android:minSdkVersion="8" />    <application android:icon="@drawable/icon" android:label="@string/app_name"><uses-library android:name="android.test.runner" />      <activity android:name=".MainActivity"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>      </activity>    </application>    <uses-permission android:name="android.permission.READ_CONTACTS" />    <instrumentation android:name="android.test.InstrumentationTestRunner"    android:targetPackage="cn.com.simon.junit" android:label="my test class" /></manifest>


测试用例:
package cn.com.simon.junit;import android.content.ContentResolver;import android.database.Cursor;import android.net.Uri;import android.test.AndroidTestCase;import android.util.Log;public class TestContacts extends AndroidTestCase{private static final String TAG = "TestContacts";/** * 查询通讯录中的信息 * @throws Throwable */public void queryContacts() throws Throwable{//获得contentresolver对象ContentResolver resolver = this.getContext().getContentResolver();Uri uri = Uri.parse("content://com.android.contacts/contacts");//localhost="com.android.contacts"Cursor c = resolver.query(uri, null, null, null, null);Log.i(TAG, c.getCount()+"");}}

向通讯录中添加数据
1,非事务
<div class="quote_title">引用
页: [1]
查看完整版本: 操作android中的通讯录