学习Android之-----------------------AndroidManifest.xml
在Android中,有一个文件叫AndroidManifest.xml ,该文件是Android项目开发的全局配置文件,
以.xml结尾。熟悉java web开发的朋友可能都知道,在Web工程中,也有一个全局的配置文件,叫web.xml。
当然AndroidManifest.xml 与 web.xml 是类似的,我们都可以在文件中配置有关项目的相关配置(如初始
总的来说,开发Android应用所有需要配置的都需要在 AndroidManifest.xml 文件中进行配置,常见的
有:应用程序包名、版本号、组件、权限信息等。
一、AndroidManifest.xml 文件结构
举个例子:
//指明xml文件的版本以及字符编码
<?xml version="1.0" encoding="utf-8"?>
//AndroidManifest.xml 文件以标签<manifest></manifest>为根节点
<manifest
//指明Android的相关命名空间,一般都是http://schemas.android.com/apk/res/android,这样使 //得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据
xmlns:android="
//定义java主应用程序的包名 ,它也是一个应用进程的默认名称
package="com.example.administrator.myapplication">
//权限设置,允许用户读取和写入联系人信息
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
//一个AndroidManifest.xml中必须含有一个Application标签,这个标签声明了每一个应用程序的组件//及其属性(如icon,label,permission等)
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
//Android Activity的定义
<activity android:name=".ContactProvider">
//过滤器的定义,类似于java web中的filter
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
二、AndroidManifest.xml 在Android Studio 中的位置
三、AndroidManifest.xml 常用标签解读
1、分类
全局标签(包名及版本信息)、组件标签(四大组件)、权限标签(申请及定义权限)
2、全局标签
package="com.example.administrator.myapplication" //定义项目主函数包名,类似于java应用程序main方法
android:revisionCode="1" //定义该Android应用的版本号
android:versionName="@string/hello" //定义该Android应用的版本名称
<uses-sdk
android:minSdkVersion="19" //定义最低的API版本
android:targetSdkVersion="23" //定义目标API版本
>
3、组件标签
组件标签有<application></application>打标签包裹着,一个 AndroidManifest.xml 只能包含一个
<application>组件节点,在里边我们可以配置相关的组件信息,如 Android 四大组件(Activity、
Service、ContentProvider、Broadcast Receiver)
如:在<application>中设置属性值:
图标:android:icon
标题: android:label
主题样式:android:theme
1、activity 组件由 <activity></activity>标签包裹着,并且我们可以指定android:name属性指定
activity的类名,且name的值最好是填写类的全限定类名,即 "包名.类名"的形式。
且启动任何一个没有在 AndroidManifest.xml 文件中定义的 Activity 都会相应的报出异常。
<intent-filter></intent-filter> 相当于该Activity 的一张名片,在现实生活中,我们可能不认识
一种事物或者某个人,但我们可以根据该种事物的相关特征、某人的相关事迹来确定一个人,即<intent-
filter>相当于Activity的过滤器,定义了该Activity的一些特征,以便别的Activity找到它
2、service
3、provider 需要设置name属性和authorities属性
也是同样的做法!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。