• Android中的Manifest分析


    Manifest这个英文单词的意思如下:

    n. 载货单, 运货单, 旅客名单
    adj. 显然的, 明白的
    vt. 显示, 证实, 出示
     
    很显然,android中是取的第一个含义(即名词),也就是说这个文件其实就是一份清单。
    描述了我们的应用程序有些什么,当然还有其他的比如运行环境的说明。
    其实就跟C#(.net)中的webconfig作用差不多的。
     
    下面是我一个例子中的AndroidManifest
     1 <?xml version="1.0" encoding="utf-8"?>
    2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    3 package="demo.setdefaultkeymode"
    4 android:versionCode="1"
    5 android:versionName="1.0" >
    6
    7 <uses-sdk android:minSdkVersion="14" />
    8
    9 <application
    10 android:icon="@drawable/ic_launcher"
    11 android:label="@string/app_name" >
    12 <activity
    13 android:label="@string/app_name"
    14 android:name=".SetDefaultKeyModeActivity" >
    15 <intent-filter >
    16 <action android:name="android.intent.action.MAIN" />
    17 <category android:name="android.intent.category.LAUNCHER" />
    18 </intent-filter>
    19 </activity>
    20
    21 <activity
    22 android:label="@+string/shortcuttest"
    23 android:name=".ShortCutActivity">
    24 </activity>
    25
    26 </application>
    27
    28 </manifest>


    分析:

    第1行是说明版本号,字符集等。字符集有很多种,可以百度或者google一下。

    第2-5行, 说明了package(包),C#中叫命名空间,其实差不多。

    第7行, 说明了SDK的版本是14(Android 4.0)。

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

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

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

    第一个Activity和另两个不同,最显著的是intent-filter段,第15行表明这是应用启动的第一个Activity,是不是有 点C语言中Main函数的味道?
    你也可以理解为应用程序的入口。每一个应用至少有一个Activity被定义为MAIN. 注意到另外一个个Activity没有intent-filter,其实是可以有的,
    只是这里我的程序中用不着。关于intent-filter,网上也有 比较详细的描述,暂时这里也不详细介绍了。

  • 相关阅读:
    软件工程,实践作业1_团队博客
    软件工程,实践作业1
    c# excel 读写 64位操作系统 64位excel
    pyfits fits图像区域选择
    python numpy中sum()时出现负值
    python 中模块的版本号
    numpy rand函数的应用
    python 字符串是否包含某个子字符串
    python 字符串格式化
    python 让异常名称显示出来
  • 原文地址:https://www.cnblogs.com/mumue/p/2376953.html
Copyright © 2020-2023  润新知