先说一下,我的开发环境为Eclipse 3.7.1 + Android SDK + Android 1.5(API level3)

Android最大的一个特点,就是用xml文件来配置,这个演习了Java的特点。所以,理解Android程序,同时需要理解xml文件。

我们写程序,需要关注AndroidManifest.xml,和res/layout下的xml文件以及res/value下的xml文件。

首先看AndroidManifest.xml,我的程序的AndroidManifest.xml如下:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest package="Workshop.english.englishwords" 3     android:versionCode="1" 4     android:versionName="1.0" xmlns:android="http://schemas.android.com/apk/res/android"> 5  6     <uses-sdk android:minSdkVersion="3" /> 7  8     <application 9 android:icon="@drawable/ic_launcher"10         android:label="@string/app_name" >        11         <activity12 android:name=".EnglishWordsActivity"13             android:label="@string/app_name">14             <intent-filter>15                 <action android:name="android.intent.action.MAIN" />16 17                 <category android:name="android.intent.category.LAUNCHER" />18             </intent-filter>19             20         </activity>21         <activity22 android:name=".UnitListAdapter">23             24         </activity>25         26         <activity27 android:name=".WordActivity">        28         </activity>29         30     </application>31 32 </manifest>

首先来说说这个文件有啥用。Manifest, 我不知道翻译成中文咋说,只能意会。写Java程序的,对这个词语并不陌生。可以看作一个类似于清单说明一样的东西。大家都有过网购的经验,对于产品的包装,会有一个清单,说明了这个包裹里头有些啥。这里Manifest其实大致也是这个意思。

这个xml文件,其实就是描述了我们的应用程序有些啥,当然还有其他的比如运行环境的说明。下面细细的介绍。

line 1,说明了版本号,字符集,世界上都有哪些字符集,可以网上去查。

line 2-4, 说明了package,C++中习惯叫命名空间,其实差不多一个意思。

line 6, 说明了SDK的版本是3,因为我选择是Android 1.5,所以这里就是3。关于这个对应关系,从Eclipse更新Android的SDK的时候,会列出来。比较新的是Android 4.0.3,对应的level是15.这个是在创建应用的时候选择的。

line 9,  说明了应用在Android桌面中显示的图标,显示的图标在res/drawable目录下的ic_lancher.png,这个可以自己改,但是名字必须是drawable目录下的。

line 10, 说明了应用程序显示的名字,lable标签,对应的app_name在res/values目录下的strings.xml中可以找到。

line 11-28, 列举了三个Activity, 三个Activity对应了三个类名,这里必须是这样的格式,我曾经试图将前缀“.”去掉,结果报错。感觉这个“.”有点像目录中当前目录的标识,这里标识的是当前命名空间。

第一个Activity和另两个不同,最显著的是intent-filter段,line15和17表明这是应用启动的第一个Activity,是不是有点C语言中Main函数的味道?你也可以理解为应用程序的入口。每一个应用至少有一个Activity被定义为MAIN. 注意到另外两个Activity没有intent-filter,其实是可以有的,只是这里我的程序中用不着。关于intent-filter,网上也有比较详细的描述,暂时这里也不详细介绍了。我也会在后面总结一下,因为这可以专门的当作一个topic,包含了很丰富的内容。

需要指出的是,AndroidManifest.xml基本上是自动生成的,当然了,我们也可以去编辑它。但是编辑的时候必须小心,编辑每一个元素都需要弄清楚他的意义,否则,很容易导致出错。这个我觉得是Android的一个对于新手不太好的地方。真是因为这个原因,我这个文件详细的说明了一下。偷偷说一下,我吃过亏。

转载于:https://www.cnblogs.com/technology-fans/archive/2012/02/28/2372389.html

AndroidManifest.xml介绍相关推荐

  1. AndroidManifest.xml中android:name功能介绍

    该博客转自https://blog.csdn.net/zeng622peng/article/details/78343443 大部分android程序员一把呢都是使用默认的Application,在 ...

  2. Android学习笔记之AndroidManifest.xml文件解析

    为什么80%的码农都做不了架构师?>>>    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整 ...

  3. AndroidManifest.xml文件详解

    更多原文,请见:http://mobile.51cto.com/aprogram-340646.htm AndroidManifest.xml文件是Android系统重要的权限申请和定义配置文件,程序 ...

  4. AndroidManifest.xml配置详解

    2019独角兽企业重金招聘Python工程师标准>>> AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点 ...

  5. AndroidManifest.xml配置文件详解

    AndroidManifest.xml配置文件详解 . AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查 ...

  6. Android之 AndroidManifest.xml 文件解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  7. Android之 AndroidManifest xml 文件解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  8. Android关于AndroidManifest.xml详细分析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  9. Android学习----AndroidManifest.xml文件解析

    一个Android应用程序的结构: 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了pack ...

最新文章

  1. linux内核seq_file接口
  2. Ubuntu16.04安装NVIDA显卡驱动
  3. jaxb-xjc.jar_使用xjc在一秒钟内生成您的JAXB类
  4. jeecg-framework-3.3.2-RELEASE 最新版本发布
  5. Linux Epoll 一网打尽
  6. 解决IDEA GIT密码输入错误后,报Authentication failed ... 不再弹出输入框,提交更新失败
  7. MVC3.0图片滚动和相册展示(下)
  8. 验证iaas的sql服务器出现error configuring vRealize automation server
  9. Robotframework+Appium环境搭建
  10. mysql io 优化_mysql 中io优化
  11. 华硕电脑开机 C键和空格建不灵了怎么办
  12. 在spyder中设置缩进对齐线提示
  13. 2022年二级建造师《建设工程法规及相关知识》试题答案
  14. 趋势科技预测 2017物联网装置将担任重要攻击角色
  15. 转 - 微信连WIFI,背后大棋局
  16. 英文单词搜索之词霸搜索
  17. 软件测试与人工智能结合,人工智能技术与软件测试之间的关系
  18. usb连接不上 艾德克斯电源_艾德克斯 ITECH电源RS232通讯设置简易教程
  19. 基于SPI协议下的OLED显示
  20. 深入编程之QQ盗号核心代码

热门文章

  1. eureka源码:开启eureka server
  2. springboot 2.0.5配置Druid连接池和web监控后台
  3. android 進度條_Android更新下載進度條 | 學步園
  4. 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查
  5. Mac 安装Pygame小记
  6. 移除添加的文件_文件压缩教程-文件批量压缩
  7. httpclient base64 文件上传_选择HttpClient还是OkHttp?
  8. Network 之一 国际标准组织介绍、互联网/因特网、以太网概念区分、协议标准
  9. 设计模式理解:中介者模式(Mediator)
  10. 算法练习day9——190327(“之” 字形打印矩阵、在行列都排好序的矩阵中找数、打印两个有序链表的公共部分、判断一个链表是否为回文结构)