赞
踩
AndroidManifest.xml是安卓项目的配置文件,里面包含了从应用级别到页面级别的各种属性设置。该文件需要引用其它文件的内容,如变量、图片、代码文件等,因此,需要先弄清楚Android项目结构。
Android项目结构
通过Gradle工具编译后的安卓源代码放在./android/app/src/main目录下,该目录有三个子文件(夹):
其中,res文件夹又有4个子目录:
由于设备的分辨率不同,所以同一张图片往往需要准备不同的分辨率的图片。因此,drawable又有几个子目录:
在这三个目录存放不同分辨率的同名图片,在运行时,会自动根据屏幕分辨率选择具体文件夹下的图片。
大致明白了Android项目结构,就可以分析AndroidManifest.xml文件的内容了。
因为后缀名是xml,所以AndroidManifest.xml遵循标准的XML语法。一个XML文件的内容是由多级嵌套节点组成的,每个节点通常包含开始标签、节点属性、子节点、结束标签。下面剖析常见的几个节点。
mainfest节点
manifest元素是安卓配置文件的根元素。属性包括:
application节点
application节点是mainfest节点的子节点,指定了应用级别的一些配置信息,主要属性包括:
XML文件中的变量说明
无论是AndroidManifest.xml,还是页面描述文件,都需要用到变量。
字符串变量放在了res/values目录下的strings.xml中。例如:
<resources>
<string name="变量名">变量值</string>
</resources>
这样就可以在其它位置直接使用该变量,加上“@string/”前缀即可:
android:label = "@string/变量名"
除了字符串变量,另一个经常引用的资源就是图片。假设软件运行在1080P屏幕上,则首先要把图片放到res/drawable/drawable-xxhdpi目录下,然后可以在xml文件中通过属性android:src引用了,格式语法为:
android:src = "@drawable/不带后缀名的图片名称"
activity节点
activity节点是application节点的子节点,它是活动页面的注册声明。一个activity节点代表一个页面,只有在这里注册了activity节点,才能在运行时访问对应的页面。
一个页面通常包含两部分:xml页面描述文件、Java或Kotlin代码文件。
页面描述文件、代码文件、用于注册页面的activity节点的android:name属性,这三个名称应该按照规则对应。用语言描述这种规则不好理解,直接给出示例更加直接,示例如下:
页面描述文件名: activity_main.xml
代码逻辑文件名 : MainActivity.java或MainActivity.kt
activity节点:
<activity android:name=".MainActivity" > </activity>
如果没有子节点,也可以简写成:
<activity android:name=".MainActivity" />
另外,如果该页面是App的入口页面,还应该在该activity节点下面添加一些内容,修改后的节点内容如下:
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER">
</intent-filter>
</activity>
user-permission节点
user-permission节点是manifest的子节点,与application节点同级。该节点用来声明应用所需的权限。一个权限对应一个user-permission节点,权限名称作为android:name属性的值。
例如,如果应用需要访问网络,则需要声明:
<uses-permission android:name="android.permission.INTERNET" />
常见的权限名称如下列表。
网络访问类:
电话短信类:
多媒体类:
系统设置类:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。