引言

上篇我们介绍了Intents和Intent Filters的理论部分,主要是介绍了:activities、services、broadcast receivers三种组件的Intent机制两种Intent(显式和隐式)及它们如何去匹配目的组件、Intent对象包含哪些信息、Intent Filters的action & category & data。

Intent的重要性,我不再着重介绍了,但我还是要说:Intent能够使应用程序突破沙盒与外界交流,者这使得Android的世界变得丰富多彩!本篇将用实例来介绍,如何应用Intent,而且继续用SMS方面的例子来阐述。本文的主要内容如下:
例子(需求)描述
STEP1、添加用于显示通讯录的布局文件
STEP2、添加Button的点击事件
STEP3、添加通讯录活动
STEP4、解析通讯录返回的数据
STEP5、在清单文件AndroidManifest.xml中注册通讯录活动和读取Contact数据库的权限
总结
例子(需求)描述

用手机发过SMS的人都知道:
用户可以先编辑短信,然后再去通讯录中选择相应的人并发生给他。
用户可以在短信内容中插入通讯录中联系人的号码。

我们的这个例子就是要说明如何实现这个功能。要实现这个功能,即是创建一个新的Activity选择(ACTION_PICK)通讯录中的数据,它会显示通讯录中的所有联系人并让用户选择,然后关闭并返回一个联系人的URI给短信程序。下面介绍如何一步一步实现类似的功能,而且是在之前Android 开发之旅:短信的收发及在android模拟器之间实践(一)中发送SMS的例子(TextMessage)基础上加上从通讯录中选择联系人的功能。
STEP1、添加用于显示通讯录的布局文件

我们用一个ListView来显示整个通讯录,其中用TextView显示每一记录。它们的xml文件分别为contact.xml、listitemlayout,如下所示:

====================================contact.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:andro
Android 开发之旅:view的几种布局方式及实践
Android 开发之旅:短信的收发及在android模拟器之间实践(一)
Android 开发之旅:短信的收发及在android模拟器之间实践(二)
Android开发之旅: Intents和Intent Filters(理论部分)



作者:吴秦
出处:http://www.cnblogs.com/skynet/
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接).

相关文章: