android基础4——Mainifest
众所周知,应用程序中的每一个UI都是通过Activity类的一个或者多个拓展实现的。在桌面开发环境中,Activity相当于Form,来布局和显示信息,以及影响用户的动作。Mainifest可以定义应用程序及其组件和需求的结构和元数据。即它包含了组成应用程序的每一个Activity、Service、Content Provider等等的节点。
Mainifest文件由一个根标签构成,该标签带有一个被设为项目包的package属性。它通过包含一个xmlns:android属性来提供文件内使用的某些系统属性。versionCode属性定义当前的应用程序版本号,每次版本迭代时都会增加。versionName定义一个显示给用户看的公共版本号。它通过使用installLocation属性,设置其值为preferExternal或者是auto,还可以指定是否允许将应用程序安装在内部存储器或者是外部存储器上,若不指定,则安装到内部存储器。
<users-sdk>这个节点定义设备上必须具有的最低和最高的SDK版本,以及为应用程序设计的目标SDK,分别通过minSDKVersion、maxSDKVersion、targetSDKVersion属性设置。
<users-configuration>指定应用程序支持的每个输入机制的组合,比如需要特殊输入控制的游戏等等,可以单独拿出来研究一下;
<users-feature>使用多个此节点来指定应用程序需要的每个硬件功能。这样可以避免将应用程序安装到不包含必要功能的硬件设备上。例如NFC:<users-feature android:name="android.hardware.nfc" />由此可以定义指定的硬件兼容。完整列表
http://developer.android.com/guide/topics/manifest/uses-feature-element.html#featuures-reference
<supports-screens>设定应用程序针对哪些屏幕尺寸进行了设计和测试。当不支持时,系统可能会应用“兼容”模式来显示应用程序。
<uses-permission>标签声明了应用程序需要。在安装程序的时候,你设定的所有权限都会告诉用户,由他们来决定同意与否;
<application>一个Mainifest只能包含一个application节点。它使用各种属性来指定应用程序的各种元数据。还可以作为一个包含Activity、Service等等节点的容器。
<activity>应用程序内的每一个Activity都需要有一个这个标签。并使用android:name来指定这个Activity类的名称。每一个activity都可以使用<intent-filter>子标签来定义用于启动该Activity的Intent;
基本的标签和节点就是这些咯,手打这些东西好捉鸡啊。有关Manifest以及各种节点的更详细的描述,参考http://developer.android.com/guide/topics/manifest/manifest-intro.html好了。