Android应用程序包含下面这几个部分:

程序的前后台:

  • Activities
  • Services
存储:
  • Content Providers
消息传递:
  • Intents
  • Broadcast Receivers
手机特性:
  • Widgets
  • Notifications

每个Android程序运行在单独的Dalvik虚拟机上,并且每个Android运行在不同的用户空间中,也就说,不同的android程序在linux中的用户空间是不同的。这样,android消息传递使用broadcast的方式应该就容易理解了。

Android Manifest

有过Web开发经验的程序员也许会对AndroidManifest.xml文件感到亲切,它很像web.xml,包含android程序中的方方面面。学造房子的时候,我们最好先学会看设计图。每一个android程序都有自己的AndroidManifest.xml,它主要包含:
  • android应用的结构信息

    • Activity,Service,Content Provider,Broadcast Receiver
    • Intent Filter
  • 元数据。
    • 版本号,图标,主题等

AndroidManifest.xml中的标签

  • uses-sdk:顾名思义

    • <uses-sdk android:minSdkVersion=”6” android:targetSdkVersion=”15”/>
  • uses-configuration:硬件的配置信息
    • <uses-configuration android:reqTouchScreen=”finger” android:reqNavigation=”trackball” android:reqHardKeyboard=”true” android:reqKeyboardType=”twelvekey”/>
  • uses-feature:程序运行所需要的硬件支持
  • supports-screens:顾名思义
    • <supports-screens android:smallScreens=”false”

      android:normalScreens=”true”

      android:largeScreens=”true”

      android:xlargeScreens=”true”

      android:requiresSmallestWidthDp=”480”

      android:compatibleWidthLimitDp=”600”

      android:largestWidthLimitDp=”720”/>
  • supports-gl-texture:声明这个应用程序是否能提供由一种GL压缩格式的asset
    • <supports-gl-texture android:name=”GL_OES_compressed_ETC1_RGB8_texture” />
  • uses-permission
    • <uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION”/>
  • permission:用户自定义的permission
    • <permission android:name=”com.paad.DETONATE_DEVICE”

      android:protectionLevel=”dangerous”

      android:label=”Self Destruct”

      android:description=”@string/detonate_description”>

      </permission>
  • instrumentation:测试相关
    • <instrumentation android:label=”My Test”

      android:name=”.MyTestClass”

      android:targetPackage=”com.paad.apackage”>

      </instrumentation>
  • application:一个manifest文件中只能有一个application标签
    • <application android:icon=”@drawable/icon”

      android:logo=”@drawable/logo”

      android:theme=”@android:style/Theme.Light”

      android:name=”.MyApplicationClass”

      android:debuggable=”true”>

      [ ... application nodes ... ]

      </application>
    • 子标签:activity
      • <activity android:name=”.MyActivity” android:label=”@string/app_name”>

        <intent-filter>

        <action android:name=”android.intent.action.MAIN” />

        <category android:name=»android.intent.category.LAUNCHER» />

        </intent-filter>

        </activity>
    • 子标签:service
      • <service android:name=”.MyService”></service>
    • 子标签:provider
      • <provider android:name=”.MyContentProvider” android:authorities=”com.paad.myapp.MyContentProvider”/>
    • 子标签:receiver
      • <receiver android:name=”.MyIntentReceiver”>

        <intent-filter>

        <action android:name=”com.paad.mybroadcastaction” />

        </intent-filter>

        </receiver>
    • 子标签:uses-library
      • <uses-library android:name=”com.google.android.maps” android:required=”false”/>

Android 4学习(2):概述 - AndroidManifes.xml的更多相关文章

  1. Android开发学习---使用XmlPullParser解析xml文件

    Android中解析XML的方式主要有三种:sax,dom和pull关于其内容可参考:http://blog.csdn.net/liuhe688/article/details/6415593 本文将 ...

  2. Android UI学习组件概述

    Android的UI组件繁多,如果学习的时候不能自己总结和分类而是学一个记一个不去思考和学习他们内在的联系那真的是只有做Farmer的命了.为了向注定成为Farmer的命运抗争,在学习Android的 ...

  3. Android动画学习(二)——Tween Animation

    前两天写过一篇Android动画学习的概述,大致的划分了下Android Animation的主要分类,没有看过的同学请移步:Android动画学习(一)——Android动画系统框架简介.今天接着来 ...

  4. Android Animation学习(三) ApiDemos解析:XML动画文件的使用

    Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ...

  5. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  6. Android开发学习之路--网络编程之xml、json

    一般网络数据通过http来get,post,那么其中的数据不可能杂乱无章,比如我要post一段数据,肯定是要有一定的格式,协议的.常用的就是xml和json了.在此先要搭建个简单的服务器吧,首先呢下载 ...

  7. Android 4学习(3):概述 - Resources

    在应用程序中,处理与代码逻辑无关资源的最佳实践是将其放到程序的外部,典型的资源包括字符串,图片等.Android中的资源文件都在res文件夹中,这些资源包括字符串,颜色,主题,样式,图画,布局,动画, ...

  8. android菜鸟学习笔记3----关于AndroidMainfest.xml

    每个android项目都包含一个AndroidMainfest.xml文件,它包含了组成应用程序的每一个Acitivity.Service.Content Provider和Broadcast Rec ...

  9. Android:日常学习笔记(8)———探究UI开发(5)

    Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...

随机推荐

  1. 主席树----POJ 2104(主席树裸题)(转)

    首先来介绍一下我们需求:给你n个数,多次问你某个区间内的第k小是哪个数 主席树: 主席树的全名应该是 函数式版本的线段树.加上附带的一堆 technology.. ..总之由于原名字太长了,而且 “主 ...

  2. python之算法LOB三人组

    一.冒泡排序 a.冒泡排序----优化 如果冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结算法 import random from timewrap import * @cal_ti ...

  3. uva 1025 A Spy int the Metro

    https://vjudge.net/problem/UVA-1025 看见spy忍俊不禁的想起省赛时不知道spy啥意思 ( >_< f[i][j]表示i时刻处于j站所需的最少等待时间,有 ...

  4. oracle 索引(3)

    位图索引 位图索引非常适合于决策支持系统(Decision Support System,DSS)和数据仓库,它们不应该用于通过事务处理应用程序访问的表.它们可以使用较少到中等基数(不同值的数量)的列 ...

  5. winform中的状态栏,以及在状态栏目上显示时间

    1:在winform上添加状态栏,并且在状态栏目上多添加几个label. step1:拖一个StatusStrip到winform上,名字默认为statusStrip1.找到statusStrip1的 ...

  6. 剑指Offer-翻转单词顺序

    题目描述: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符串的顺序不变.例如输入字符串:"I am a student",则输出"student a am I&qu ...

  7. UVA - 1471 Defense Lines (set/bit/lis)

    紫薯例题+1. 题意:给你一个长度为n(n<=200000)的序列a[n],求删除一个连续子序列后的可能的最长连续上升子序列的长度. 首先对序列进行分段,每一段连续的子序列的元素递增,设L[i] ...

  8. poj 2408 Anagram Groups

    Description World-renowned Prof. A. N. Agram's current research deals with large anagram groups. He ...

  9. Unity 头发随动效果

    目标 实现角色的衣袖.头发.裙摆.披风.尾巴等,在角色运动时,可以产生随动的效果.类似王者荣耀角色展示界面. 准备 源码出出处:https://github.com/unity3d-jp/unityc ...

  10. C#关闭一个窗口的同时打开另一个窗口

    在.net的WinForm程序中,如果是直接起动的Form作为主窗口,那么这个主窗口是不能关闭的,因为它维护了一个Windows消息循环,它一旦关闭了就等于声明整个应用程序结束,所以新打开的窗口也就被 ...