操作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]