效果:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<EditText
android:id="@+id/name"
android:layout_width="92px"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_x="24px"
android:layout_y="35px"
>
</EditText>
<EditText
android:id="@+id/number"
android:layout_width="268px"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_x="23px"
android:layout_y="87px"
>
</EditText>
<Button
android:id="@+id/sreach"
android:layout_width="57px"
android:layout_height="wrap_content"
android:text="搜索"
android:layout_x="26px"
android:layout_y="142px"
>
</Button>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="21px"
android:layout_y="202px"
>
</TextView>
</AbsoluteLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="provider.test"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ProviderTest"
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"></uses-permission>
</manifest>
package provider.test;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.provider.ContactsContract.PhoneLookup;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class ProviderTest extends Activity {
private EditText name;
private EditText number;
private Button search;
private TextView text;
private static final int PICK_CONTACT_SUNACTIVITY=2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/** 载入Main.xml*/
setContentView(R.layout.main);
/** 通过id找到组件*/
name=(EditText)findViewById(R.id.name);
number=(EditText)findViewById(R.id.number);
text=(TextView)findViewById(R.id.text);
search=(Button)findViewById(R.id.sreach);
/** 设置button按钮点击事件*/
search.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
/** 构建uri来取的联系人数据位置*/
Uri uri=Uri.parse("content://contacts/people");
/** 通过intent来取的联系人数据返回的所选的值*/
Intent intent=new Intent(Intent.ACTION_PICK,uri);
/** 打开新的Activity并期望Activity返回值*/
startActivityForResult(intent, PICK_CONTACT_SUNACTIVITY);
}
});
}
protected void onActivityResult(int requestCode,int resultCode,Intent data){
switch(requestCode){
case PICK_CONTACT_SUNACTIVITY:
Cursor c=null;
Cursor phone =null;
/** 获得uri对象*/
final Uri uriRet=data.getData();
if(uriRet!=null){
try {
/** 必须要有android.permission.READ_CONTACTS权限*/
c=managedQuery(uriRet, null, null, null, null);
/**将Currsor一道数据最前端*/
c.moveToFirst();
/**获得联系人名字*/
String strname=c.getString(c.getColumnIndexOrThrow(PhoneLookup.DISPLAY_NAME));
/**(如果你使用的是2.0或2.0以上的API那么获得联系人号码)
*
* 获取联系人的ID号,在SQLite中的数据库ID
* */
String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
phone = managedQuery(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = "
+ contactId, null, null);
String strPhoneNumber=null;
phone.moveToFirst();
/**获得联系人号码*/
strPhoneNumber = phone.getString(phone.getColumnIndex (ContactsContract.CommonDataKinds.Phone.NUMBER));
/**设置两个EditText参数*/
name.setText(strname);
number.setText(strPhoneNumber);
} catch (Exception e) {
/**将错误信息显示出来*/
text.setText(e.toString());
e.printStackTrace();
}finally{
/**关闭对象*/
phone.close();
c.close();
}
}
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
}
使用Content Provider
查询所有通讯录数据:
content://contacts/people
查询通讯录的特定联系人ID:10
content://contacts/people/10
修改Content provider里的数据
ContentResolver.update();
添加一项数据进入 Content Provider
ContentResolvert.insert();
将数据存储至Content Provider:
ContentResolver().openOutputStream();
自Provider以删除一笔数据:
ContentResolver.delete();
- 大小: 7.4 KB
- 大小: 6.9 KB
- 大小: 9.2 KB
分享到:
相关推荐
税法是国家制定的法律规范,用于调整国家与纳税人之间的权利与义务关系,确保政府能够强制、无偿地取得财政收入以满足公共需要。税法具有义务性和综合性,税收则体现其无偿性、强制性和固定性的特征。 我国税收的...
【教育资料】——《第三章 工作程序和制度建设》深入解析 在现代企业管理中,工作程序和制度建设是确保高效运作的关键要素。通过学习本章内容,我们可以了解到建立有效工作程序对于提升行政管理质量和效率的重要性...
**第三章:顾客导向** 顾客导向在新新经济中至关重要。企业必须以满足顾客需求为出发点,提供卓越的顾客体验,才能建立并维持顾客忠诚度。 **第四章:失效的4P策略** 传统4P营销理论(产品、价格、地点、促销)在...
我国实施了一系列资源跨区域调配的重大战略,包括西气东输、西电东送和南水北调等,这些都是高考地理复习中的重点内容,尤其在复习课件《(2021-2022年)专题资料完美版高考地理人教一轮复习课件:第十六章 ...
3. **第三阶段(1970s中期至1980s中期):** - 在这一“复兴期”,研究范围扩展到了学习多个概念,并探索不同的学习策略和方法。学习系统也开始与实际应用相结合。西蒙于1980年来华推广机器学习,推动了中国机器...
#### 1.3 取得通讯录所有的联系人 ##### 1.3.1 问题 如何获取通讯录中所有的联系人? ##### 1.3.2 方案 利用通讯录对象的`copyArrayOfAllPeople`方法获取所有联系人的数组。 ##### 1.3.3 讨论 在获取了所有联系人...
第 3 章:网上招投标 本章详述了网上招投标的全过程: 1. 确认采购澄清文件:供应商需关注并及时查看招标方发布的澄清或修改文件,确保对招标要求有清晰理解。 2. 标书验证:在提交标书前,供应商需验证标书内容是否...
【创新设计】2022年高考地理复习中,第十六章关注的是“区际联系与区域协调发展”,这个章节的核心知识点在于理解资源跨区域调配的原因、背景、意义以及影响。资源跨区域调配是为了平衡不同区域之间的资源供需差异,...
- **用户规模预计达7.78亿人**:这一数据反映了第三方输入法在中国市场的普及程度和用户基础的强大。 - **一二线城市用户为主要群体**:说明了输入法在城市用户中的高渗透率。 - **男性用户略高于女性**:性别比例...
### 第九章 领导思维与创新 #### 第一节 领导思维的基本原理 ##### 一、思维科学的基本理论 **1. 思维的含义** 现代科学认为,思维是大脑的一种复杂功能,它使人们能够对客观世界的特征和规律进行间接和概括的...
铁路运输则在速度和运量之间取得平衡,适合大宗货物的中长距离运输;水运则是运量最大的运输方式,适用于大宗货物的长途运输,但速度相对较慢。 2. **物流枢纽的作用**:快递公司的空运枢纽,如美国路易斯维尔机场...
#### 第3章:Linux桌面环境 **1.简述Linux下桌面的实现原理,它与Windows下的桌面有什么异同?** Linux桌面环境主要由桌面环境管理器(如GNOME、KDE)组成,这些环境管理器提供了图形界面、窗口管理以及桌面图标等...
第1章 计算机基础知识 计算机基础知识是学习计算机科学和技术的基石,它涵盖了信息技术的基本概念、计算机技术的发展历程以及信息化对社会的影响。本章的主要内容包括以下几个方面: 1.1 信息技术的基本知识 - ...
### 模式识别第一章知识点详解 #### 一、课程概览 - **课程名称**:模式识别 - **授课教师**:朱远平 - **联系方式**:zhuyuanping@mail.tjnu.edu.cn - **参考教材**: - 《模式识别》,边肇祺著,清华大学出版社 ...
《财务管理23第二十三章会计司法鉴定》 会计司法鉴定是司法诉讼中不可或缺的一部分,它主要涉及财务、会计和审计领域的专业知识。鉴定人通过对案件涉及的财务会计事实进行鉴别和判断,对会计凭证、账簿、报表等资料...
第三章 专利文献及其检索 第一节 专利的基本知识 什么是专利? 所谓专利是指一项技术性的创造发明在一定的年限和国家范围内受法律保护的技术专有权利。 专利的类型(发明专利、实用新型专利、外观设计专利) ...
### 第五章 项目收尾 #### 一、项目收尾概述 项目收尾是项目管理过程中的最后一个阶段,标志着项目或项目阶段的正式结束。在这个阶段,项目团队需要确保项目的所有目标都已达成,所有的产品和服务都已经交付并且被...
总结来说,这份资料详细阐述了外商投资企业与外国企业在中国的税收规则,包括纳税人的定义、征税对象的确定、税收优惠的条件以及不同类型的外商企业如何纳税。对于在中国投资的外国企业和相关从业人员,理解这些规定...
3. **投标人地址、联系方式**:提供投标人的联系地址、电话、邮箱等信息,方便招标方在需要时能及时与投标人取得联系。 4. **法定代表人**:投标企业的法定代表人的姓名,通常是公司的董事长或总经理。 5. **投标...
第三章:利息和汇率 1. 利息:利息是与信用相伴随的一个经济范畴,是指债权人贷出货币或货币资本而从债务人手中获取的超过本金部分的报酬。 2. 基准利率:基准利率是指在多种利率并存的条件下起决定作用的利率。 3....