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. JavaWeb -- Servlet+JSP+JavaBean(MVC)模式

    Servlet+JSP+JavaBean(MVC)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP ...

  2. 51nod 1009 数字1的数量 数位dp

    1009 数字1的数量 基准时间限制:1 秒 空间限制:131072 KB   给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数.   例如:n = 12,包含了5个1 ...

  3. VS Code快捷键

    主命令框 F1 或 Ctrl+Shift+P: 打开命令面板.在打开的输入框内,可以输入任何命令,例如: 按一下 Backspace 会进入到 Ctrl+P 模式 在 Ctrl+P 下输入 >  ...

  4. 防止xss,sql攻击函数

    <?php //php防注入和XSS攻击通用过滤. //by qq:831937 $_GET && SafeFilter($_GET); $_POST && Sa ...

  5. 包--R In Action

    1.4 包R提供了大量开箱即用的功能,但它最激动人心的一部分功能是通过可选模块的下载和安装来实现的.目前有2500多个①称为包(package)的用户贡献模块可从http://cran.r-proje ...

  6. 5.6 WebDriver API实例讲解(31-40)

    31.判断页面元素是否存在 public static void testElementExist(){ driver.get("http://www.sogou.com"); t ...

  7. Uninstall Office 2016 for Mac

    官方原文:https://support.office.com/en-us/article/Uninstall-Office-2016-for-Mac-eefa1199-5b58-43af-8a3d- ...

  8. Element 'beans' cannot have character [children], because the type's content type is element-only

    这个小问题快搞死我了,找了大半个小时. Element 'beans' cannot have character [children], because the type's content typ ...

  9. 又是毕业季1&&又是毕业季2

    又是毕业季2 n/k; 又是毕业季2 一开始很容易想到枚举n个数取k个的所有组合,然后分别用辗转相除法求最大公约数,但是复杂度明显不符合要求,于是必须换一种思路. 我们想到,k个数的公约数含义就是这k ...

  10. codeforces D. Area of Two Circles' Intersection 计算几何

    D. Area of Two Circles' Intersection time limit per test 2 seconds memory limit per test 256 megabyt ...