【安卓开发文档】一、应用程序ABC(下)

Activating Components

激活组件

四个程序组件中的三个组件——activities, services,和broadcast receivers可以被异步消息激活,这个激活的方法被称为intent。intent在程序运行时将不同的组件绑定,甚至不同程序间的组件也可以绑定。

intent对象可以定义特定的消息,这个消息可以将特定的程序组件激活,intent既可以显式定义也可以隐式定义,对于activities和 services,intent可以让这两个程序组件执行多样的操作,例如显示图像,打开网页等等,而且该操做仍然可以返回intent,对于broadcast receivers,可以用intent传递需要其广播的消息,但是intent不能用于激活content provider组件,该组件只能被ContentResolver的请求激活。相关组件的具体激活方法如下,
activitystartActivity()startActivityForResult()
service : startService(), bindService();
broadcast: sendBroadcast(), sendOrderedBroadcast(),  sendStickyBroadcast();
content provider: query() 

The Manifest File

清单文件

Android系统可以启动一个应用程序组件之前,系统必须知道该组件存在于应用程序的AndroidManifest.xml文件中(“清单”文件)。在这个文件中,应用程序必须声明其所有组件,而且它必须在应用程序的根目录下。
除了声明应用程序的组件,清单文件还需要声明以下事项

确定应用程序需要的任何用户权限,如上网或读访问用户的联系人;
声明应用程序所需的最低API级别;
声明应用程序使用或需要的硬件和软件功能,如摄像头,蓝牙服务,或者多点触摸屏;
应用程序需要链接的API库(Android框架API以外的库),如谷歌地图库。

还需要声明以下事项,
1、声明所有组件,例如

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:icon="@drawable/app_icon.png" ... >
        <activity android:name="com.example.project.ExampleActivity"
                  android:label="@string/example_label" ... >
        </activity>
        ...
    </application>
</manifest>


2、声明组件的功能
如激活组件所述,你可以使用intent执行 activities, services,和broadcast receivers。这样做需要在intent中明确命名目标组件。然而,intent的真正强大之处在于intent的概念。对于intent,你只需描述要执行的操作类型(以及可选的数据后,你想执行的动作),并允许系统在设备上可以执行的行动,并开始查找组件。如果有多个组件可以执行所描述的意图的动作,然后由用户选择要使用哪一个(例如打开一个网页,如果安卓系统上有多个浏览器,则由用户选择用哪个)。

3、声明应用程序的需求
搭载Android的设备有很多种,不是所有的设备都提供相同的功能和能力。为了防止您的应用程序被安装在您的应用程序所需要的功能的设备缺乏,这一点很重要,需要清楚地在manifest文件中声明程序对于设备软件和硬件的需求。这些声明的大多时候系统不需要读取,但外部服务,如Google Play会读他们,以便为用户提供过滤搜索时选择符合设备的应用。

4、应用程序资源
Android应用程序是由多种元素组成的代码,它需要从源代码中独立出来的资源,如图像,音频文件,以及任何有关应用程序的视觉呈现。例如,你应该定义动画,菜单,样式,颜色和活动的用户界面的布局XML文件。使用应用程序资源,可以很容易地更新您的应用程序,而无需修改代码,并通过提供一组替代资源的各种特性,使您能够优化你的应用程序,为各种设备配置(如不同的语言和画面尺寸)。

对于每一个资源,你在你的Android项目包括SDK生成工具定义一个唯一的整​​数ID,你可以用它从应用程序代码来引用资源,或在XML中定义的其他资源。例如,如果您的应用程序包含一个命名logo.png(res/drawable/ directory)的图像文件,SDK工具生成资源ID名为R.drawable.logo,您可以使用引用图像,然后将其插入在你的用户界面。

从源代码分开提供资源的最重要的方面之一是能够为不同的设备配置提供可替代资源。例如,在XML中定义UI字符串,您可以将字符串翻译成其他语言,并保存在单独的文件中的这些字符串。然后,根据追加到资源目录的名称(res/values-fr/ for French string values)和用户的语言设置语言限定符,Android系统应用适当的语言字符串呈现用户界面。
[14本经典Android开发教程]-3-Android SDK 中文开发文档 什么是 Android? Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android 平台上使用JaVa语言进行Android应用开发必须的工具和API接口。 特性 · 应用程序框架 支持组件的重用与替换 · Dalvik 虚拟机 专为移动设备优化 · 集成的浏览器 基于开源的WebKit 引擎 · 优化的图形库 包括定制的2D图形库,3D图形库基于OpenGL ES 1.0 (硬件加速可选) · SQLite 用作结构化的数据存储 · 多媒体支持 包括常见的音频、视频和静态图像格式 (如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) · GSM 电话技术 (依赖于硬件) · 蓝牙Bluetooth, EDGE, 3G, 和 WiFi (依赖于硬件) · 照相机,GPS,指南针,和加速度计(accelerometer) (依赖于硬件) · 丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件 Android 架构 下图显示的是Android操作系统的主要组件。每一部分将会在下面具体描述。 已上传2本: [14本经典Android开发教程]-1-Android开发从入门到精通http://download.csdn.net/detail/cleopard/8355245 [14本经典Android开发教程]-2-Android开发手册—API函数详解 http://download.csdn.net/detail/cleopard/8374487 剩余11本稍后上传!@或直接从这里寻找@ http://download.csdn.net/user/cleopard/album @更多@ http://cleopard.download.csdn.net/ 福利 http://xuemeilaile.com 17份软件测试文档 http://download.csdn.net/album/detail/1425 13份WPF经典开发教程 http://download.csdn.net/album/detail/1115 C#资料合辑二[C#桌面编程入门篇] http://download.csdn.net/album/detail/957 C#资料合辑一[C#入门篇] http://download.csdn.net/album/detail/669 [Csharp高级编程(第6版)](共8压缩卷) http://download.csdn.net/album/detail/667 10个[精品资源]Java学习资料合辑[一] http://download.csdn.net/album/detail/663 10个C#Socket编程代码示例 http://download.csdn.net/album/detail/631 6份GDI+程序设计资源整合[全零分] http://download.csdn.net/album/detail/625 2014年移动游戏行业数据分析 http://download.csdn.net/detail/cleopard/8340331 一文读懂2014年全球互联网广告新生态 http://download.csdn.net/detail/cleopard/8340303
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值