Android应用框架深入探索:Intent与IPC/Binder解析
"这篇文档主要介绍了Android Application Framework的基础知识,包括如何发送短信和邮件,以及对库和框架的对比。此外,还提到了Intent的概念和IPC/Binder的结构。" 在Android平台上,发送短信和邮件是常见的应用功能。以下是实现这两个功能的代码示例: 发送短信: ```java final Intent i = new Intent(Intent.ACTION_VIEW); i.putExtra("sms_body", matches.toString()); i.setType("vnd.android-dir/mms-sms"); startActivity(i); ``` 这段代码创建了一个新的Intent,指定ACTION_VIEW动作,将短信内容通过EXTRA_SMS_BODY传递,并设置类型为短信。然后启动该Intent,让系统选择合适的短信应用来发送。 发送邮件: ```java final Intent i = new Intent(android.content.Intent.ACTION_SEND); i.setType("plain/text"); i.putExtra(android.content.Intent.EXTRA_SUBJECT, matches.toString()); i.putExtra(android.content.Intent.EXTRA_TEXT, matches.toString()); startActivity(Intent.createChooser(i, "Select email application.")); ``` 这里的Intent用于发送邮件,设定ACTION_SEND动作,指定邮件内容类型为纯文本,并设置主题和正文。最后,使用Intent.createChooser让用户选择一个邮件应用来发送。 Android Application Framework是Android操作系统的核心组成部分,它为开发者提供了一种主动型API,不同于传统的被动型库。在框架中,系统会回调应用的方法,而不是应用去调用系统服务。这种模式使得系统能更好地控制应用的行为。 Intent是Android中一个重要的概念,它是应用程序之间通信的一种方式。在上面的示例中,Intent被用来启动短信和邮件的发送过程。Intent可以携带数据,并指定要执行的动作,使得不同组件间能灵活地交互。 IPC(Inter-Process Communication)和Binder是Android中实现跨进程通信的关键技术。Binder机制允许不同的应用或进程间共享数据和服务,它是Android系统实现组件间通信的基础。 最后,Android应用程序的开发通常包括Android.mk文件,用于编译配置,AndroidManifest.xml文件,用于声明应用的组件、权限和其他重要信息,以及res目录,包含应用的资源文件,如布局(layout)等。 掌握Android Application Framework的原理和使用,对于Android应用开发者至关重要,因为它是构建强大、高效且兼容性良好的应用的基础。如同库与框架的比喻,框架像天花板,而应用就像是吊灯,框架提供了基础架构,应用则在这个基础上发光发热。Android平台的开放性和丰富的API使得开发者能够创建出各种各样的应用,满足不同用户的需求。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 22
- 资源: 2万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决Eclipse配置与导入Java工程常见问题
- 真空发生器:工作原理与抽吸性能分析
- 爱立信RBS6201开站流程详解
- 电脑开机声音解析:故障诊断指南
- JAVA实现贪吃蛇游戏
- 模糊神经网络实现与自学习能力探索
- PID型模糊神经网络控制器设计与学习算法
- 模糊神经网络在自适应PID控制器中的应用
- C++实现的学生成绩管理系统设计
- 802.1D STP 实现与优化:二层交换机中的生成树协议
- 解决Windows无法完成SD卡格式化的九种方法
- 软件测试方法:Beta与Alpha测试详解
- 软件测试周期详解:从需求分析到维护测试
- CMMI模型详解:软件企业能力提升的关键
- 移动Web开发框架选择:jQueryMobile、jQTouch、SenchaTouch对比
- Java程序设计试题与复习指南
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)