zoukankan      html  css  js  c++  java
  • Android AndroidManifest.xml配置文件

    AndroidManifest.xml配置文件介绍
    本质:AndroidManifest.xml是整个应用的主配置清单文件。
    包含:该应用的包名、版本号、组件、权限等信息。
    作用:记录该应用的相关配置信息。
    AndroidManifest.xml的位置

    从新建一个Android工程开始,AndroidManifest.xml就已经出现了

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.i.helloworld"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="19" />
    
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.i.helloworld.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
    
    </manifest>
    AndroidManifest.xml

    AndroidManifest.xml常用标签解读
    (1)全局篇(包名、版本信息)
    (2)组件篇(四大组件)
    (3)权限篇(申请权限和定义权限)

    全局篇
    (1)应用的包名以及版本信息的管理
        package="com.i.helloworld"
        android:versionCode="1"
        android:versionName="1.0"
    (2)控制android版本信息(可以支持的最低版本、你期望的系统版本)
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="19" />

    组件篇 -- 在配置文件中注册组件
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            [ ... application nodes ... ]
        </application>
    其属性可以设置:
     图标:android:icon
     标题:android:label
     主题样式:android:theme
    只能包含一个application节点

    Activity(活动)
            <activity
                android:name="com.i.helloworld.MainActivity"
                android:label="@string/app_name" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
    android:name="com.i.helloworld.MainActivity" 通过这句话在清单中定义一个activity
    启动一个没有在清单中顶一个activity都会抛出异常
    <intent-filter>起的名片或者过滤器的作用
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    这里这个intent-filter接货了主函数启动的时候和第一次登陆的作用

    Service(服务)
    <service ...>
    activity可以用来显示界面;Service只是走位一个后台逻辑的处理。

    Content Provider(内容提供者)
    <provider ...>
    内容提供者用来管理数据库访问以及程序内和程序间共享。
    Broadcast Receiver(广播接收者)
    <receiver ...>
    相当于一个全局事件的监听器,一旦我们在配置文件中注册以后,它就相当于一个面向全局的监听器。一旦它所匹配的intent被传播出来,它就会立即被执行。

    权限篇
    设置权限方式:
    在AndroidManifest.xml的下方选择permissions标签-->add。。。
    (1)使用系统权限
    <uses-permission>申请权限
    声明了哪些是由你定义的权限,而这些权限是应用程序正常执行所必需的。在安装程序的时候,你设定的所有权限将会告诉给用户,由他们来决定同意与否。对很多本地Android服务来说,权限都是必需的,特别是那些需要付费或者有安全问题的服务(例如,拨号、接受SMS或者使用基于位置的服务)
    (2)自定义权限
    除了系统权限,我们也可以使用自定义权限
    使用权限:
    <activity
     android:permission="xxx"
     ...
    前提是要先在<uses-permission>中先申请权限

    总结
    注意事项
    1.每个组件都必须包含android:name这个属性,推荐用券名称(包名.类名),intent-filter(过滤器)可以选写。
    2.四大组件中除了BroadcastReceiver可以使用代码声明注册以外,其他组件必须要在Manifest文件中进行声明配置,否则会报错
    3.可以使用alt+/的组合快捷键,通过代码提示加快书写效率
    4.android的系统权限有很多,不用全部记忆,只需要会像查字典一样,学会查询和使用就可以了

  • 相关阅读:
    bootstrap模态框手动开启关闭与设置点击外部不关闭
    mybatis的增删改查返回值小析(六)
    mac安装python本版管理工具pyenv
    taro 编译 建议修改:使用循环的 index 变量作为 key 是一种反优化
    taro-多个input同一个事件处理
    python初探(01D) line 2 SyntaxError: Non-ASCII character 'xe8' 报错
    taro父、子组件通信
    taro---image引入图片
    webpack(五)---模块热替换
    webpack(四)---开发系列
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5411474.html
Copyright © 2011-2022 走看看