野人学Android基础篇之HelloWorld程序第二课--Manifest.xml的不完全解释

上一节课中,将HelloWorld程序中的目录介绍给了大家认识,不知道大家还记不记得她们了。如果记不清楚,也没关系,慢慢来。好了,今天我要跟大家分享的是,Manifest.xml文件的不完全解释。既然要将Manifest.xml的具体内容,为什么还是不完全的呢?因为Manifest.xml中包含的知识点比较多,对于刚学Android的童鞋来说,记住不也没必要记住所有的标签含义。在这里,我只是讲一些基础的知识点,其他的知识点会在后面的博文中逐步跟大家分享。


这是HelloWorld程序自动生成的Manifest.xml文件,包含四层标签内容,分别是<manifest>、<application>、<activity>、<intent-filter>。

第一层:<manifest>

    package指的是app的包名

android: versionCode指的是app的版本,给计算机看的

android: versionName指的是app的版本名字,给用户看的

第二层:<application>

android: allowBackup 是允许app备份的意思,其作用和危害具体内容可以参考下面链 接:http://www.freebuf.com/articles/terminal/60778.html

android: icon 指的是呈现手机桌面上的app图标,等于号后面的是属性值,可以理解为drawable文件下的ic_launcher文件,如 果你细心的话,就会知道ic_launcher是个图片文件。在这里要强调的是,“res”文件下有多个“drawable”前缀文件夹,后缀指的 是不同分辨率下会应用到的不同资源。就是说,不同分辨率的手机,装了这一个app后,app会自动调用不同分辨率的图片资 源,为了保证app的兼容性,最好每个文件夹下都要放置相应分辨率的图片资源。

android: label指的是呈现在手机桌面上的app名字

android: theme指的是app的主题,就是样式

第三层: <activity>

在解释此标签下的属性前,先简单说明下activity是什么。道上的人一般解释为“活动”,但是更多的人喜欢直接称为“activity”。a ctivity是android四大组件中的一个,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地 图。至于其他三个,大家可以先行百度下。

android:name是Activity的名字,名字前面的“.”指的是相对路径,即在package下的位置,当然在此package路径下,这个"."是 可以去除掉的。我试验过,去掉之后没有影响app的运行。

android:label的解释见<application>

第四层:<intent-filter>

android.intent.action.MAIN决定一个应用程序最先启动那个组件

android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里(说白了就是是否在桌面上显示一个图标)

这两个属性组合情况:

第一种情况:有MAIN,LAUNCHER,程序列表中无图标

原因:android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里 

第二种情况:无MAIN,LAUNCHER,程序列表中无图标

原因:android.intent.action.MAIN决定应用程序最先启动的Activity,如果没有Main,则不知启动哪个Activity,故也不会有图标 出现,所以这两个属性一般成对出现。

如果一个应用中有两个组件intent-filter都添加了android.intent.action.MAIN和

android.intent.category.LAUNCHER这两个属性, 则这个应用将会显示两个图标, 写在前面的组件先运行。

以上这段文字是摘自别人的博客,详见:http://blog.csdn.net/cnnumen/article/details/8464786图上还有两行代码没有进行解释,这也是留给大家的作业,自己动手,丰衣足食。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值