概述
每个应用项目必须在项目源设置的根目录中加入 AndroidManifest.xml 文件(且必须使用此名称)。 清单文件会向 Android 构建工具、Android 操作系统和 Google Play 描述应用的基本信息。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.lesliewang.demo">
<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"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
<!-- android P 默认所有的http请求都被阻止了-->
<activity
android:name=".activity.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="adjustNothing">
<!-- Intent 过滤器 主活动-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".search.SearchActivity"
android:screenOrientation="portrait" />
<activity
android:name=".activity.WordActivity"
android:screenOrientation="portrait" />
<activity
android:name=".activity.LoginActivity"
android:screenOrientation="portrait" />
<activity
android:name=".query.ChineseSearchActivity"
android:screenOrientation="portrait" />
<!-- 弹出键盘不会自动压缩-->
<activity
android:name=".note.NoteActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing" />
<!-- 横屏-->
<activity
android:name=".activity.ScienceActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="sensorLandscape" />
</application>
<!-- 权限-->
<!-- 连接网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 获取手机录音机使用权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<!-- 读取网络信息状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 获取当前wifi状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 允许程序改变网络连接状态 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!-- 读取手机信息权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--改变wifi权限-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<!--振动权限-->
<uses-permission android:name="android.permission.VIBRATE" />
</manifest>
Manifest:属性
属性 | 解释 |
---|
xmlns:android | 定义android命名空间,一般为http://schemas.android.com/apk/res/android |
package | 指定本应用内java主程序包的包名,也是一个应用进程的默认名称 |
Application:属性
属性 | 解释 |
---|
android:allowBackup | 是否允许应用参与备份和恢复基础架构。如果将此属性设为 false,则永远不会为该应用执行备份或恢复,即使是采用全系统备份方法也不例外(这种备份方法通常会通过 adb 保存所有应用数据)。此属性的默认值为 true。 |
android:supportsRtl | 声明您的应用是否愿意支持从右到左 (RTL) 布局。 |
android:theme | 对样式资源的引用,用于为应用中的所有 Activity 定义默认主题背景。 |
android:icon | 整个应用的图标,以及每个应用组件的默认图标 |
android:label | 整个应用的用户可读标签,以及每个应用组件的默认标签 |
android:usesCleartextTraffic | 指示应用是否打算使用明文网络流量,如明文 HTTP。对于目标 API 级别为 27 或更低级别的应用,默认值为 “true”。对于目标 API 级别为 28 或更高级别的应用,默认值为 “false”。 |
Activity:属性
属性 | 解释 |
---|
android:configChanges | 列出 Activity 将自行处理的配置变更。orientation:屏幕方向发生变更 — 用户旋转设备。screenSize:当前可用屏幕尺寸发生变更。keyboardHidden:键盘无障碍功能发生变更 |
android:icon | 表示 Activity 的图标。当需要在屏幕上呈现 Activity 时,系统会向用户显示图标。 |
android:label | 一种可由用户读取的 Activity 标签。在必须向用户呈现 Activity 时,屏幕上会显示此标签。此标签通常与 Activity 图标一并显示。 |
android:name | 实现 Activity 的类的名称,是 Activity 的子类。 |
android:label | 整个应用的用户可读标签,以及每个应用组件的默认标签 |
android:screenOrientation | Activity 在设备上的显示方向。sensorLandscape:屏幕方向为横向,但可根据设备传感器调整为正常或反向的横向。portrait:屏幕方向为纵向(显示的高度大于宽度)。 |
android:theme | 对定义 Activity 总体主题的样式资源的引用。 |
android:windowSoftInputMode | Activity 的主窗口与包含屏幕软键盘的窗口之间的交互方式。 |
后续学习到其他属性再更新。