Android学习之AndroidManifest.xml文件

    科技2022-07-15  156

    Android学习之AndroidManifest.xml文件

    AndroidManifest官方解释是应用清单,每个应用的根目录中都必须包含一个,并且文件名必须一模一样。这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显示界面。

    作用

    提供软件包名;描述应用的各个组件;确定托管应用组件的进程;声明应用必须具备哪些权限才能访问 API 中受保护的部分并与其他应用交互;列出 Instrumentation 类,这些类可在应用运行时提供分析和其他信息;声明最低API级别;列出必要的lib库。

    示例

    <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test" android:versionCode="1" android:versionName="Test1.0"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

    解释

    1:告知编辑器当前xml文件的版本和所使用的字符编码类型 2~6:manifast标签 package用于指定应用程序的包名 android:versionCode用于设置项目代码版本 android:versionName用于指定项目版本名称 8~14:application标签 ①属性 android:name 该属性用完整的Java类名赋值,该类名是一个Application子类的实现。当应用程序进程被启动时,这个类在其他任何应用程序组件被实例化之前实例化。 android:name=".MobileCallApplication" 表示使用MobileCallApplication类来表示应用程序。在程序运行时,该类首先被实例化。在MobileCallApplication.java中可以看到,MobileCallApplication类是BaseApplication的派生类,BaseApplication类是Application类的派生类。 如果没有指定该属性,则android系统会使用默认的Application类的实例。 ​​​​​​​android:icon 该属性指定了应用程序app在桌面上的图标。 android:icon="@mipmap/logo" 其中,mipmap文件夹中包含了logo的图片。 相关链接1: mipmap文件夹一般存放launcher图标,把图片放在该文件夹中可以提高系统渲染图片的速度,提高图片质量,减少GPU压力。 drawable文件夹用来存放应用程序用到的其它pnp、jpg和gif图标。 android:label 该属性指定了在app标题栏中显示的内容。 android:label="@string/app_name" 以上代码表示在生成的app左上角的标题栏中显示在string中指定的app_name的值。 android:allowBackup 该属性用来表示是否允许应用程序备份相关的数据并且在必要时候恢复还原这些数据,如果该标识设为false,则代表不备份和恢复任何的应用数据,默认的该标识属性为true。 android:roundIcon 该属性指定了应用程序使用的圆形桌面图标。 android:roundIcon="@mipmap/ic_launcher_round" 相关链接2: android:roundIcon属性是在android7.1版本(对应api的级别是level25)之后才加入的一个新属性。在导入已存在的项目时,可能会显示编译错误信息 Error:No resource identifier found for attribute ‘roundIcon’ in package ‘Android’ 主要原因就是当前使用的android studio不支持api level25,解决的方法是下载api level25及跟高版本的SDK,或者将该属性删除。 android:supportsRtl 该属性表示应用程序是否支持控件从右到左排列,true表示支持该排列方式,false表示不支持该排列方式。 相关链接3: android:supportsRtl是在android4.2之后才有的,其对应的api版本是level17。该属性的默认值是false。 ​​​​​​​android:screenOrientation 该属性表示活动显示的方向。 android:screenOrientation=“landscape” 以上代码表示将活动显示的方向设置为横向。 相关链接4: android:screenOrientation的值还可以是portait(纵向)、sensor(感应器决定方向)、user(用户偏好的方向)等。 android:theme 该属性指定了活动的主题风格。 android:theme="@style/AppTheme" 以上代码指定了活动的主题风格是style/AppTheme指定的风格。在styles.xml中可以找到style/AppTheme的定义。 ②子节点 Application节点中可以包含、、、、和等子节点。 子节点定义了应用程序对应的活动。android:name属性指定了活动的名称,即该活动对应的类名;属性指定了活动的intent过滤器,其中的属性值“android.intent.action.MAIN”表示该活动是应用程序的入口活动,当应用程序启动时,首先显示该活动。“android.intent.category.LAUNCHER”表示该活动被列入桌面启动器(launcher)中。通过指定这两个参数值,MainActivity活动就被指定为应用程序的主活动。

    Processed: 0.013, SQL: 8