安卓AndroidManifest.xml介绍
先说一下,我的开发环境为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如下:
<?xml version="1.0" encoding="utf-8"?> 说明了版本号,字符集,世界上都有哪些字符集,可以网上去查。
<manifest package="Workshop.english.englishwords"
android:versionCode="1" 2-4 说明了package,C++中习惯叫命名空间,其实差不多一个意思。
android:versionName="1.0" xmlns:android="http://schemas.android.com/apk/res/android"> <uses-sdk android:minSdkVersion="3" /> 说明了SDK的版本是3,因为我选择是Android 1.5,所以这里就是3。比较新的是Android 4.0.3,对应的level是15.这个是在创建应用的时候选择的。 <application
android:icon="@drawable/ic_launcher" 说明了应用在Android桌面中显示的图标,显示的图标在res/drawable目录下的ic_lancher.png,这个可以自己改,但是名字必须是drawable目录下的。
android:label="@string/app_name" > 说明了应用程序显示的名字,lable标签,对应的app_name在res/values目录下的strings.xml中可以找到。
11-28, 列举了三个Activity, 三个Activity对应了三个类名,这里必须是这样的格式,我曾经试图将前缀“.”去掉,结果报错。感觉这个“.”有点像目录中当前目录的标识,这里标识的是当前命名空间。第一个Activity和另两个不同,最显著的是intent-filter段,line15和17表明这是应用启动的第一个Activity,是不是有点C语言中Main函数的味道?你也可以理解为应用程序的入口。每一个应用至少有一个Activity被定义为MAIN. 注意到另外两个Activity没有intent-filter,其实是可以有的,只是这里我的程序中用不着。关于intent-filter,网上也有比较详细的描述,暂时这里也不详细介绍了。我也会在后面总结一下,因为这可以专门的当作一个topic,包含了很丰富的内容
<activity
android:name=".EnglishWordsActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </activity>
<activity
android:name=".UnitListAdapter"> </activity> <activity
android:name=".WordActivity">
</activity> </application> </manifest>
首先来说说这个文件有啥用。Manifest, 我不知道翻译成中文咋说,只能意会。写Java程序的,对这个词语并不陌生。可以看作一个类似于清单说明一样的东西。大家都有过网购的经验,对于产品的包装,会有一个清单,说明了这个包裹里头有些啥。这里Manifest其实大致也是这个意思。
这个xml文件,其实就是描述了我们的应用程序有些啥,当然还有其他的比如运行环境的说明。
需要指出的是,AndroidManifest.xml基本上是自动生成的,当然了,我们也可以去编辑它。但是编辑的时候必须小心,编辑每一个元素都需要弄清楚他的意义,否则,很容易导致出错。这个我觉得是Android的一个对于新手不太好的地方。真是因为这个原因,我这个文件详细的说明了一下。偷偷说一下,我吃过亏。
安卓AndroidManifest.xml介绍的更多相关文章
- [安卓]AndroidManifest.xml文件简介及结构
1.AndroidManifest.xml文件简介: 每个应用程序在它的根目录中都必须要有一个AndroidManifest.xml(名字须精确一致)文件.这个清单把应用程序的基本信息提交给Andro ...
- AndroidManifest.xml介绍一
下面是AndroidManifest.xml的简单介绍,直接上图! 一.manifest结点的属性介绍 二.application结点属性介绍 三.activity.intent-filter.use ...
- [安卓学习]AndroidManifest.xml文件内容详解
一,重要性 AndroidManifest.xml是Android应用程序中最重要的文件之一.它是Android程序的全局配置文件,是每个 android程序中必须的文件.它位于我们开发的应用程序的根 ...
- 安卓开发_浅谈主配置文件(AndroidManifest.xml)
AndroidManifest.xml本质:是整个应用的主配置清单文件包含:该应用的包名,版本号,组件,权限等信息作用:记录该应用的相关的配置信息 一.常用标签(1).全局篇(包名,版本信息)(2). ...
- 打开APK里的AndroidManifest.xml乱码
直接解压apk,打开AndroidManifest.xml显示乱码,因为这里面是二进制字符,和打开文件的编辑器无关.(也可以用ultraedit打开查看,有明文显示.只是看起来搜起来不是很方便而已) ...
- Android学习笔记之AndroidManifest.xml文件解析(转)
//自已备注: <?xml version="1.0" encoding="utf-8"?>//说明了版本号,字符集 <manifest xm ...
- AndroidManifest.xml
一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...
- [转]AndroidManifest.xml文件详解
转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml ...
- android关于AndroidManifest.xml详细分析
http://my.eoe.cn/1087692/archive/5927.html 一.关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必 ...
随机推荐
- 刷题总结——谈笑风生(主席树+dfs序的应用)
题目: Description 设T 为一棵有根树,我们做如下的定义:• 设a和b为T 中的两个不同节点.如果a是b的祖先,那么称“a比b不知道高明到哪里去了”.• 设a 和 b 为 T 中的两个不同 ...
- oracle的split函数
PL/SQL 中没有split函数,需要自己写. 代码: create or replace type type_split as table of varchar2(50); --创建一个 typ ...
- 作诗(bzoj 2821)
Description 神犇SJY虐完HEOI之后给傻×LYD出了一题:SHY是T国的公主,平时的一大爱好是作诗.由于时间紧迫,SHY作完诗 之后还要虐OI,于是SHY找来一篇长度为N的文章,阅读M次 ...
- css样式---隐藏元素
1.通过设置width:0;或height:0 2.将元素的opacity设置成0 3.通过定位将元素移出屏幕范围 4.通过text-indent实现隐藏文字的效果 5.通过z-index隐藏一个元素 ...
- spl_autoload_register() && __autoload函数
一.__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数. 在index.php中,由于没有包含test.class.php,在实例化printit时 ...
- python实现显示安装进度条
一直很好奇那种安装进度条,或者启动程序时候显示的进度条是怎么实现的,学习了python之后,sys模块中有个方法可以实现,代码如下: 1 2 3 4 5 6 import sys,time ...
- Leetcode 数组问题2:买卖股票的最佳时机 II
问题描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易( ...
- mysql 建立utf8字符集数据库
CREATE DATABASE `evaluate` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- Mac装Win10后没有无线网络的处理
在“文件资源管理器”中找到“此电脑”,打开,看到“设备与驱动管理器”,找到Bootcamp文件夹,点击进入,运行setup,之后重启就好了.
- 【转载】关于Hash
这个HASH算法不是大学里数据结构课里那个HASH表的算法.这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突.所谓不可逆,就是当你知道x的HASH值, ...