首页 > 其他分享 >【android】清单文件AndroidManifest.xml结构

【android】清单文件AndroidManifest.xml结构

时间:2023-02-06 15:57:05浏览次数:39  
标签:xml false 默认 软键盘 Activity AndroidManifest android true

<manifest>
    <application>
        <activity/>
        <activity-alias/>   
        <service/>
        <receiver>
        <provider>
            <grant-uri-permission/>
            <meta-data/>
        </provider>
        <uses-library/>
    </application>
    <uses-permission/>
    <permission/>
    <permission-tree/>
    <permission-group/>
    <instrumentation/>
    <uses-sdk/>
    <uses-configuration/>
    <uses-feature/>
    <supports-screens/>
</manifest>

1 Manifest

 
<manifest

    <!--//定义android命名空间,使得各种 **标准属性** 能在文件中使用,提供了大部分元素中的数据-->

    xmlns:android="http://schemas.android.com/apk/res/android"

    <!--//指定本应用内java主程序包的包名,它也是一个应用进程的默认名称-->

    package="com.nnnn.mvp"

    <!--//代表应用程序代码的**相对版本**,对用户是可见的,它必须是一个int型的整数-->

    android:versionCode="1"

    <!--//代表应用程序的版本信息,字符串值,需要显示给用户-->

    android:versionName="1.0"

    <!--//默认情况下,每个APK分配一个唯一的UserID,拥有同一个User id的多个APK可以配置成运行在同一个进程中-->

    android:sharedUserId="wirelessqa.com"

    <!--//给共享的UserId定义了一个用户可读的标签,它只有在设置了sharedUserId属性的前提下才会有意义 用户id的可读名,且必 须为资源的引用。-->

    android:sharedUserLabel="string resource"

    <!--android:installLocation的值有三个 internalOnly ,auto,preferExternal,缺省值为internalOnly
    internalOnly表示该应用程序只能安装到手机内部存储中。
    auto表示由系统决定该应用程序安装到手机内部存储中还是SD卡中。 如果有SD卡且应用程序大于5M的话,安装到SD卡      中,否则安排到手机内部存储中
    preferExternal表示如果有SD卡就把该应用程序只能安装到SD卡中,否则安装到手机内部存储中。-->

    android:installLocation= "internalOnly"

    <uses-sdk
        <!--//指定了应用程序运行所需的操作系统的最低版本。-->
        android:minSdkVersion="17"
        <!--targetSdkVersion 是 Android 系统提供前向兼容的主要手段-->
        android:targetSdkVersion="17"
    />
</manifest>

2第二层(<Application>)属性

 
<!-- 标签application声明了每一个应用程序的组件及其属性。 -->

​    <application

​        <!-- 用户是否能选择自行清除数据。 -->
​        android:allowClearUserData=["true(默认)" || "false"]

​        <!--是否允许activity更换从属的任务。 -->
​        android:allowTaskReparenting=["true(默认)" || "false"]

​         <!-- **数据的备份和恢复功能** -->
​        android:allowBackup="true"

​         <!-- **申请更多的内存 api>=11** -->
​        android:largeHeap="true"

​        <!-- 设置该APP的备份,属性值应该是一个完整的类名 -->
​        android:backupAgent=="@string/xxx"

​        <!-- 在手机上可否被调试。 -->
​        android:debuggable=["true" || "false(默认)"]

​        <!-- 否能够实例化该应用程序的组件。 -->
​        android:description="@string/xxx"

​        <!-- 否能够实例化该应用程序的组件。 -->
​        android:enabled=["true(默认)" || "false"]

​        android:hasCode=["true(默认)" || "false"]//此APP是否包含任何的代码

​        <!-- ????? -->
​        android:killAfterRestore=["true(默认)" || "false"]//在整型系统重置操作中,当他的           设置被重置后,应用是否应该被终止。单个包的重置操作不会引起应用被关闭。整个系统的恢复操         作仅 代表性的发生一次,当电话第一次被设置时。第三方应用将不会经常使                          用此属性。意思是,当整个系统被恢复时,应用运行玩他的数据后,将会终止。

​        android:manageSpaceActivity=".activityname"**//**指定一个Activity来管理数据

​        android:name=".myApplication"//设置你所有activity所属于哪个application的,默认是

​                        android.app.Application,你也可以自己定义一个Application

​        //以上三个当应用程序进程开始时,该类在所有应用程序组件之前被实例化。

​        android:permission="android.permission.XXX"//服务访问权限

​        android:persistent=["true" || "false(默认)"]//应用是否在所有时间下都保持运行。

​        android:process =""//为应用下的组件定一个运行进程名称。每个组件可以定义自己的进程名 称通过设置自己的process属性。process分私有进程和全局进程,私有进程的名称前面有冒号,全局进程没有



​        android:restoreAnyVersion=["true" || "false(默认)"]是否准备尝试恢复所有的备份,甚至该备份是比当前设备上更要新的版本

​        android:taskAffinity ="string"//拥有相同的affinity的Activity理论上属于相同的Task,应用程序默认的affinity的名字是元素中设定的package名

​        <!-- 程序的图标 -->
​        android:icon="@drawable/ic_launcher"

​        <!-- 程序名字。 -->
​        android:label="@string/app_name"

​        <!-- activity的样式主题。 -->
​        android:theme="@style/AppTheme" >

3第三层(Activity)属性

 
<activity

​        android:name="view.MainActivity"

​        android:label="@string/app_name"

​        <!-- Activity在当前应用退居后台后,是否能从启动它的task移动到有共同affinity的task -->

​        android:alwaysRetainTaskState =["true" || "false(默认)"]

​        <!-- 是否从task清除除根Activity之外的所有的Activity。 -->

​        android:clearTaskOnLaunch =["true" || "false(默认)"]

​        <!-- 使Activity捕捉**设备状态变化** -->

​        android:**configChanges** ="orientation|screenSize|keyboardHidden"//此时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法

​        <!-- 是否可被显示在recent列表(近期任务列表)(长按Home键出来的那个Dialo) -->

​        android:excludeFromRecents =["true" || "false(默认)"]

​        <!-- 当返回到这个Task时,是否该activity会被销毁,其他的不会被销毁。 -->

​        android:finishOnTaskLaunch =["true" || "false(默认)"]

​        <!-- (Activity加载模式)。 -->

​        android:launchMode =["standard(默认)"|"singleTop"|"singleTask"|"singleTask"]

​       //standard:就是intent将发送给新的实例,所以每次跳转都会生成新的activity。

​           singleTop:也是发送新的实例,但不同standard的一点是,在请求的Activity正好位于栈顶时(配置成singleTop的Activity),不会构造新的实例

​           singleTask:和后面的singleInstance都只创建一个实例,当intent到来,需要创建设置为singleTask的Activity的时候,系统会检查栈里面是否已经有该Activity的实例。如果有直接将intent发送给它。

​        <!- 是否允许多进程 -->

​        android:multiprocess =["true" || "false(默认)"]

​        <!-- Activity在屏幕上不再可见时,Activity是否从Activity stack中清除并结束。 -->

​        android:noHistory =["true" || "false(默认)"]

​        <!-- activity显示的模式。 -->

​        android:screenOrientation =["portrait" || "unspecified(默认)"]

​     //默认为unspecified:由系统自动判断显示方向

​        landscape横屏模式,宽度比高度大

​        portrait竖屏模式, 高度比宽度大

​        user模式,用户当前首选的方向

​        behind模式:和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)

​        sensor模式:有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换

​        nosensor模式:忽略物理感应器,这样就不会随着用户旋转设备而更改了

​        <!--activity被销毁或者成功重启时是否保存状态 -->

​        android:stateNotNeeded =["true" || "false(默认)"]

​        <!-- activity主窗口与软键盘的交互模式 -->

​        android:windowSoftInputMode ="stateUnspecified">

​        【A】当有焦点产生时,软键盘是隐藏还是显示

​        【B】是否减少活动主窗口大小以便腾出空间放软键盘

各值的含义:

​        【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

​        【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

​        【C】stateHidden:用户选择activity时,软键盘总是被隐藏

​        【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

​        【E】stateVisible:软键盘通常是可见的

​        【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

​        【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

​        【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

​        【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

4第四层(Intent)属性

 
    <intent-filter>

​       <action android:name="android.intent.action.MAIN" />

​       <category android:name="android.intent.category.LAUNCHER" />

​       </intent-filter>

 

       

标签:xml,false,默认,软键盘,Activity,AndroidManifest,android,true
From: https://www.cnblogs.com/opensmarty/p/17095632.html

相关文章

  • Office OpenXML 解析(三):页眉和页脚
    页眉和页脚指的是出现在WordprocessingML(以下简称WML)文档每一页顶部或底部的文本、图形或数据(如页码、日期、文档标题等)。页眉出现在上边界(主文档上方),而页脚出现在页面的......
  • Android 亮度调节
    AOSP中最大值最小值frameworks/base/core/res/res/values/config.xml<integername="config_screenBrightnessSettingMaximum">255</integer><itemname="config_scree......
  • 【android 】Android 高级开发工程师技术面试经验总结
    笔者前段时间参加了Android手机厂商的Android高级开发工程师技术面试,总结一下,希望对即将参加技术面试的程序员能有所帮助。    首先面试官问的是项目相关的问题,......
  • 【android】Android开发中Gson对象@SerializedName 注解的使用
    当我们使用Gson解析json数据时都会创建一个对应实体类,有时候json数据里面的字段是java关键词或者json数据里面的字段太简单,我们想在实体类中自定义字段名,这时就可以用@Ser......
  • android 编译 node js 14
    本文基于wslubuntu22.04.1LTS系统上成功编译安卓版nodejs14.15.4的一些记录.编译环境:nodejs用到两套编译器分别用来编译本机的一些工具链和目标平台的node二......
  • 【android】Android性能优化之APP性能优化原则总结
    使用过Android系统手机的同学都知道,Android手机越用越卡,这个卡主要体现在手机系统越用越卡,打开APP的速度越来越慢。Android手机越用越卡的原因主要有:1、Android系统源码是......
  • 【android】Android性能优化之网络优化
    一、写在前面  Android应用为什么需要考虑网络优化,主要基于以下几个原因:流量:App的移动网络流量消耗对用户来说是比较敏感的;电量:网络请求对电量的消耗是比较大的,影响......
  • 【android】Android中app的applicationId和包名的区别
    Androidapp的applicationId和包名的区别  每个Android应用都有一个唯一的应用ID。在Android设备和市场上,这个ID是你应用的唯一标识.若想在市场上更新应用,新应用的ID......
  • 【android】Android基础知识之SharedPreferences知识点总结
    1.SharedPreferences简介  Sharedpreferences是Android平台上一个轻量级的存储类,可以用于保存应用程序的各种配置信息,如应用设置里面的各种开关、是否打开音效、是否使......
  • Gradle配置之常见问题-Could not resolve com.android.tools.build:gradle:4.1.1.
    来源:https://blog.csdn.net/forresthua/article/details/94412296https://www.http3w.com/archives/528release发布报错Couldnotresolvecom.android.tools.build:gradle......