学习Android之-----------------------AndroidManifest.xml
在Android中,有一个文件叫AndroidManifest.xml ,该文件是Android项目开发的全局配置文件,
以.xml结尾。熟悉java web开发的朋友可能都知道,在Web工程中,也有一个全局的配置文件,叫web.xml。
当然AndroidManifest.xml 与 web.xml 是类似的,我们都可以在文件中配置有关项目的相关配置(如初始
化变量设置,Android Activity配置,servlet配置等等)。
总的来说,开发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应用的版本名称
以上三个属性位于根标签<manifest >中以属性的形式给出。
<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属性
也是同样的做法!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。