应用组件-manifest文件

当android启动一个应用组件之前,必须通过读取应用的ManifestAndroid.xml文件来确认该组件的存在。在manifest文件中必须包含该应用的所有组件。并且manifest文件必须位于应用项目的根目录下。此外,还提供如下功能:

  • 标识应用需要的用户许可,比如:internet访问,对用户通讯录的读取
  • 声明应用需要的最小最小API级别
  • 声明应用需要的硬件和软件特征,比如:相机,蓝牙服务,多点触摸屏
  • 声明应用需要的API库,比如Google Maps库

声明组件

程序中用到的activity,service和content provider必须在manifest文件中进行声明,否则系统无法找到,也永远不会运行。broadcast receiver既可以在manifest文件中声明,也可以在代码中动态创建(BroadcastReceiver对象)和注册(调用registerReceiver方法)。

声明组件的能力

声明组件的时候,可以通过指定〈intent-filter〉来声明组件响应intent的能力。比如:可以为邮件应用中的撰写新邮件activity指定intent-filter,来响应send intent。然后在你的应用中可以创建一个带有send action的intent,并调用startActivity方法,此时,系统就会根据intent匹配到撰写新邮件activity。

声明应用需要

  1. 屏幕大小和分辨率〈supports-screens〉
  2. 输入配置,比如:硬键盘,跟踪球,5向导航板〈uses-configuration〉
  3. 设备特征,比如:照相机,亮度感应器,蓝牙,某个版本的OpenGL〈uses-feature〉
  4. 操作系统版本,比如:android 1.6,android 2.3,因为每个新版本都会追加一些新的api,所以每个操作系统版本都对应一个API Level,比如:android 1.0对应API Level 1,android 2.3对应API Level 9〈uses-sdk〉

应用资源

一个android应用除了代码以外,还包括许多资源文件,比如图片,声音文件,定义menu,color,style,layout用的xml文件。项目中的每个资源,sdk build工具都会生成一个唯一的整型ID,这样就可以在代码中通过ID引用资源。比如:res/drawable下有一个logo.png文件,那么SDK工具会生成一个R.drawable.logo资源ID。

引入资源文件的另一个重要的作用是:你可以根据不同的设备配置指定相应的资源文件,比如:根据用户的语言设置,选用相应语言的配置文件,也就是可以支持多语言。还有,可以针对横屏和竖屏,选用不同的layout配置文件。

api

相关推荐