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. pg_stat_activity存储postgresql当前连接个数

    postgres=# \d pg_stat_activity 视观表 "pg_catalog.pg_stat_activity" 栏位 | 型别 | 修饰词------------ ...

  2. js命令模式

    命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤销的操作. 从命令模式的结构图可以看出,它涉及到五个角色,它们分别是 ...

  3. 《Think in Java》(九)接口

    接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法: 抽象化类则是普通类与接口之间的一种中庸之道: 涨姿势了 接口也可以拥有值属性,但它们都是隐式的 static 和 final 的: 接 ...

  4. 将命令绑定到事件中(WPF)

    绑定到指定名称控件的——>指定属性上 <i:Interaction.Triggers>                            <i:EventTrigger E ...

  5. Memcached之缓存雪崩,缓存穿透,缓存预热,缓存算法

    缓存雪崩 缓存雪崩可能是因为数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机. 解决思路: 1,采用加锁计数,或者使用合理的队列 ...

  6. Swift 3.0 on Ubuntu 15.10

    一.安装swift 3.0 1. 下载 https://swift.org/download/ 找到swift-3.0 ubuntu 15.10版本下载: https://swift.org/buil ...

  7. Hash Join 一定是选择小表作为驱动表吗

    原来自己也是一直认为oralce会选择小表作为驱动表,以前一直也没注意,今天看了落落大神的实验,才发现,oralce查询时不一定选择小表作为驱动表. 如果对大表增加了约束,大表也会作为驱动表. 实验见 ...

  8. vmware centos 连网方式

    1.自动获取IP地址 虚拟机使用桥接模式,相当于连接到物理机的网络里,物理机网络有DHCP服务器自动分配IP地址. #dhclient 自动获取ip地址命令 #ifconfig 查询系统里网卡信息,i ...

  9. 完成一个servlet 就要在web.xml里面配一个映射,这样就有一个路径供我们 使用????? servlet从页面接收值?

    最后,最容易忘记的是:在dao层中 调用xml里的删除sql语句 后面需要人为加上事务提交.一定要! sqlSession.commit();//jdbc是自动提交,但是mybatis中不是自动提交的 ...

  10. scnaf()读入字符串需要注意的地方

    #include<iostream> #include<cstdio> using namespace std; int main() { ],cch[]; int a; ci ...