Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3520805
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: 嵌入式

2011-06-16 09:18:25

众 所周知,manifest是android程序的描述文件,你在程序中用到的四大组件(activity,services,content providers,broadcast receivers)都需要在manifest中定义,还有你所使用的android版本号,所需硬件特性,用户授权等等。下面看下manifest标签
package="com.helloworld"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="preferExternal">
...

package属性是你程序的根包,versionCode是android market跟踪你程序版本要用的一个整数值,versionName是用户看到的版本号,installLocation = "preferExternal"表示你程序安装时优先安装到外部存储设备即SD CARD上,这个属性只有在android2.2以后才有效,以前的版本程序默认安装在internal storage上。

android:debuggable="true">
...


application标签定义在manifest标签里面,定义了程序的一些信息,icon为图 标,"@drawable/icon"里面的@是一个特殊字符,编译器看到这个字符就会解析后面的文字,它会去R.java里面寻找一个叫 drawabel的内部类,里面有个变量叫icon,而这个变量是当你把资源放入res文件下自动生成的。
label属性表示你的程序在启动项里的名字,也是默认的activity标题

android:label="Mr. Nom"
android:screenOrientation="portrait">
android:configChanges="keyboard|keyboardHidden|orientation">






name表示你的activity对应的类名,label显示在activity的标题栏上,如果这个activity是主activity,则此label就是你程序图标下面的文字,
screenOrientation表示屏幕排列方式,portrait表示竖向,landscape表示 横向。一旦指定了排列方式,屏幕就不会根据重力感应自动调整,为什么要指定呢?因为每次屏幕调整方向时,都会destroy和restart activity,这是我们不愿意看到的,所以一般都指定屏幕的方向
configChanges,当键盘滑动或者屏幕改变方向时,系统会认为配置改变而重建activity,我们指定这个属性表示当keyboardHidden或orientation发生时由我们自己处理这些事件
intent-filter表示过滤启动时的 intent,android程序没有入口函数,所以你可以通过intent启动它任何一个组件,一般intent启动一个组件有两种方式,显示和隐式, 显示是指定你要启动的组件的class,隐式则是赋值给intent一个action和data,系统根据activity的intent-filter 来决定是否要启动。接下来讨论的是用户授权,android对系统资源的访问有严格的规定,所以当你访问一些资源,比如SD CARD,INTERNET之前,你都要在manifest中声明,有了用户授权才能访问。声明方式如下

当你表现你的程序时,可能需要一些硬件特性,比如多点触控,并不是每个设备都支持,所以需要声明你的硬件需求,方式如下:

android:required="true"/>
接下来是你所支持的SDK版本号

这表明你最低支持的版本号是level3
阅读(1012) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~