android 开发应用基础2

来源:互联网 发布:动态全景拼接软件 编辑:程序博客网 时间:2024/05/22 01:38
声明组件

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

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

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

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






原创粉丝点击