android 开发应用基础2

声明组件

清单 首要任务是 了解 应用程序的 组件 系统 例如 一个manifest文件 可以声明 如下 活动

<? XML版本 =“1.0” 编码 = “UTF-8 ”? >
< 清单 ...   >
     < 应用 机器人 是:icon = “@ 绘制 /   app_icon.png ”......   >
         < 活动 机器人 名称 = com.example.project.ExampleActivity
                   机器人 标签 = @ 字符串 /   example_label ...   >
         </ 活动 >
         ...
     </ 申请 >
</ 清单 >
<application>元素 在Android 图标 属性点 标识应用程序 的图标 资源

<activity> 元素 的android name属性 指定 活动 的子类 和Android 完全 合格的类名称 标签 属性 指定一个 字符串 作为 活动 用户可见的 标签 使用

这样 必须 申报 所有应用程序组件

活动 <activity> 元素
服务 的<service> 元素
广播接收机 <receiver> 元素
内容提供商 的<provider> 元素
活动 ,服务和 内容提供商 包括 申报 清单 是不可见的 系统 ,因此, 不能 运行 然而, 广播接收机 可以 宣布 清单 在代码中 动态创建 BroadcastReceiver 对象 注册 系统 调用 registerReceiver ()

关于如何构建您的应用程序清单文件更多信息,请参阅AndroidManifest.xml文件中文件



声明组件能力

如上所述,激活组件,你可以使用意图开始活动,服务和广播接收机可以这样做通过明确目标组件的意图使用组件类名称命名然而,实权意图在于意向书行动概念意图行动,你只需描述要执行(和可选的动作类型数据你想执行动作),并允许系统找到可以执行的行动,并开始设备一个组成部分它。如果有多个组件可以执行的意图描述动作,然后在用户选择使用哪一个

系统识别组件可以响应意图的方式通过比较接收设备上其他应用程序清单文件提供的意图过滤器意图

当你声明你的应用程序的清单一个组成部分可以选择包括意图过滤器声明组件的能力,所以它能够响应来自其他应用程序意图通过添加组件的声明元素元素<intent-filter>为您的组件你可以声明的意图过滤

例如组成一个新的电子邮件电子邮件应用程序的活动可能宣布在其清单条目的意图过滤以应对“的意图发送电子邮件 “发送”行动(ACTION_SEND系统匹配的电子邮件应用程序“送”活动并启动当你调用startActivity()的意图然后在应用程序中活动可以创造意图

有关创建意图过滤器更多信息,请参阅意图和意图过滤器文件


声明应用程序的要求 

有各种搭载Android的设备,并非所有提供相同的功能和能力。为了防止从您的应用程序被安装在您的应用程序所需的功能的设备缺乏,这一点很重要,你清楚地定义一个manifest文件中声明的设备和软件要求您的应用程序支持的设备类型的配置文件。这些声明是信息和系统不读,但外部服务,如Android市场不读他们,以便为用户提供过滤搜索时,他们从他们的设备的应用。 

例如,如果你的应用需要一个摄像头,并使用在Android 2.1(API等级7)推出的API,你应申报manifest文件中的要求。这样,不有一个摄像头,并有一个Android版本比2.1更低的设备无法从Android Market安装您的应用程序。 

然而,你也可以申报,您的应用程序了使用相机,但并不需要它。在这种情况下,应用程序必须在运行时执行的检查,以确定设备是否有一个摄像头,并禁止使用的相机,如果是没有任何功能。 

下面是一些重要的设备,你应该考虑为您设计和开发应用程序的特点: 

屏幕尺寸和密度 
以设备,其屏幕类型分类的Andr​​oid为每个设备定义了两个特点:屏幕尺寸(屏幕的物理尺寸)和屏幕密度(物理屏幕上的像素密度,或DPI每英寸点)。为了简化所有不同类型的屏幕配置,Android系统推广到他们选择的群体,使他们更容易的目标。 
屏幕尺寸:小,正常,大,特大。 
屏幕密度,低密度,中密度,高密度,超高密度。 
默认情况下,你的应用程序是兼容所有的屏幕尺寸和密度,因为Android系统UI布局和图像资源进行适当的调整。然而,你应该建立专门为特定的屏幕尺寸布局,并提供一定的密度专门的图像,使用替代的布局资源,并宣布在你的清单,哪些屏幕尺寸,你的应用程序支持与<supports-screens>元素。 
欲了解更多信息,请参阅多屏幕支持性文件。 
输入配置 
许多设备提供不同类型的用户输入的机制,如硬件键盘,轨迹球,或一个五方向导航垫。如果您的应用程序需要特定类型的输入硬件,那么你应该在你的舱单申报与<uses-configuration>元素。然而,应用程序应该是罕见的,需要一定的输入配置。 
设备功能 
有很多的硬件和软件功能,可能或可能不存在一个给定的机器人供电设备,如摄像头,一个光传感器,蓝牙,某些版本的OpenGL,或触摸屏的保真度。你永远不应该承担一定的功能,是所有Android的供电设备(除标准的Andr​​oid库的可用性),所以你应该申报应用程序所使用的任何功能与<uses-feature>元素。 
平台版本 
不同的Andr​​oid供电设备,往往会遇到不同的版本,如Android 1.6或Android 2.3的Andr​​oid平台。每个后续版本通常包括在以前的版本不提供额外的API。为了表明这一套API是可用的,每个平台版本指定一个API级别(例如,Android 1.0 API是1级和Android 2.3的API等级9)。如果您使用任何被加入到1.0版后的平台的API,你应该声明中介绍了这些API使用<uses-sdk>元素的最低空气污染水平。 
这一点很重要,您为您的应用程序申报所有这些要求,因为,当你分发您的应用程序在Android Market,市场使用这些声明筛选每台设备上可用的应用。正因为如此,你的应用程序应该只提供给设备,满足您所有的应用需求。 

Android Market的过滤器的应用程序如何根据这些(和其他)要求的更多信息,看到市场过滤器文件。


应用程序资源

一个Android应用程序是由以上只是代码,它需要从源代码分开的资源,如图片,音频文件,以及任何有关应用程序的视觉呈现。例如,你应该定义动画,菜单,款式,颜色,活动与XML文件的用户界面布局。使用应用程序资源使得很容易地更新您的应用程序无需修改代码,并通过提供替代套各种特色资源,使您可以优化您的应用程序,各种设备配置(如不同的语言和画面尺寸)。

对于每一个资源,你在你的Andr​​oid项目包括,SDK构建工具定义一个唯一的整数ID,您可以使用引用您的应用程序代码或从XML中定义的其他资源的资源。例如,如果您的应用程序包含一个图像文件名为logo.png(保存在RES /绘制/目录),SDK工具生成一个资源ID名为R.drawable.logo,您可以使用引用的图像,并将其插入在你的用户界面。

从源代码分开提供资源的最重要方面之一,是为您提供不同的设备配置替代资源的能力。例如,在XML中定义UI字符串,可以翻译成其他语言的字符串,这些字符串保存在单独的文件。然后,Android系统的基础上,追加到资源目录的名称(如RES /值-FR /法国字符串值)和用户的语言设置的语言限定符,运用适当的语言字符串到你的用户界面。

替代资源,Android支持许多不同的预选赛。预选赛是,你在你的资源目录的名称,以确定应使用这些资源的设备配置包括一个简短的字符串。另一个例子是,你应该经常为您的活动创造不同的布局,设备的屏幕方向和大小而定。例如,当设备屏幕在纵向(高),你可能需要一个按钮是垂直布局,但是当屏幕在横向(宽),按钮应水平对齐。根据方向改变布局,你可以定义两个不同的布局,每个布局的目录名称和运用适当的限定符。然后,系统会自动适用相应的布局,根据当前设备方向。

有关资源的不同类型,可以包含在您的应用程序,以及如何创建各种设备配置的替代资源,应用资源开发指南。






  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值