android application学习之三
来源:互联网 发布:hbase性能优化方法总结 编辑:程序博客网 时间:2024/05/20 22:40
来自: http://www.cnblogs.com/bastard/archive/2012/04/01/2428903.html
Android的Application理解:
一 概述
在之前所使用的的框架:VC的MFC,MTK平台开发;这两个平台相似之处是:基于Application开发;
MFC是基于Application的Document/View的方式,每个Application就是一个进程;
MTK是基于Application的Screen/Page,Service的方式,每个Application都有自己的内存和管理方式;这两种方式的核心是:Application;
在Android开发学习中从HelloWord开始,我没有能够见到Application的相关代码,而是以Activity为入口;
让我感到很奇怪:Android的Application到底是怎么样的一种开发方式。
从各处了解到的是Android开发的核心是四大组件:Activity,Service,BroadcastReceiver,ContentProvider;
以及Intent,Handler等机制;这样一些组件所 组成 的“Application”又是怎么一回事呢?
二 Android Application概念
Android中提供了Application这样一个类;看一下Android官方文档对此类的解释:
Base class for those who need to maintain global application state.
You can provide your own implementation by specifying its name in your AndroidManifest.xml's <application> tag,
which will cause that class to be instantiated for you when the process for your application/package is created.
大概意思就是:需要为应用程序提供全局变量,在AndroidManifest.xml中指定所实现的Application子类;
当你的Application进程被建立时,此类被实例化;
文档解释中也提到,实现Application子类并不是必须的;
在实现HelloWord程序里面,就没有实现Application子类,但是系统会为我们默认一个;
就是程序运行还是有Application概念的但不是核心,一个Application是一个进程,Application为整个程序提供Context; 此类使用非常简单;
Mms模块重写了这个类但是很简单,看看其中做了些什么事情及其作用:
其中重写了onCreate方法:
public class MmsApp extends Application {
@Override
public void onCreate() {
super.onCreate();
sMmsApp = this;
//对Mms模块中的类进行配置和初始化:
MmsConfig.init(this);
Contact.init(this);
DraftCache.init(this);
Conversation.init(this);
…… //很多init
}};
三 Android Application
http://blog.csdn.net/maxleng/article/details/5621345
看一下网络上牛人对这个问题的分析:Android的应用是一个很虚的概念,并没有实际入口;
Android更多的提供组件(component)的概念;为何要虚化Application这个概念呢?这个虚化就是自由无边界设计意图的直接体现。
突出请求和服务,突出组件个体弱化边界,系统组件可以无边界交流,服务请求者直接发出请求,无论这个对象服务在何处和属于谁。
组件是自由独立的个体;一个程序可以请求其他应用的组件——Android应用框架设计的核心理念;
Android提供给开发程序员的概念空间中Application只是一个松散的表征概念,没有多少实质上的表征。
在Android实际空间中看不到实际意义上的应用程序的概念,即使有一个叫Application的类,这个也就是个应用程序上下文状态,
是一个极度弱化的概念。Application只是一个空间范畴的概念,Application就是Activity,Service之类的组件上下文描述。
Application并不是Android的核心概念,而Activity才是Android的核心概念。
Android应用程序是由以下四种组件构造而成的:Activity,Broadcast Receiver,服务(Service),内容提供器(Content Provider)。
我们可以使用下面的图来表示一下Android的概念空间。这些组件依附于应用程序中,应用程序并不会一开始就建立起来,而是在这些组件建立起来后,
需要运行时,才开始建立应用程序对象。
- android application学习之三
- android学习之application
- android Application学习之二
- Android学习之Application类
- Android学习之application自动构建
- Android NDK 学习之Application.mk
- Android 学习笔记之七 Application类
- Android学习之Application全局数据共享
- Android源码之DeskClock (三) Proxy/Delegate Application 框架应用
- Android学习之路之Android中Application类用法
- Android学习笔记之三
- Android Application学习
- Android Application生命周期学习
- android Application学习之一
- Android Application生命周期学习
- Android Application 学习
- android application学习
- Android之Application
- android Fragments (Android官方文档中文版)
- float变量与零值的比较 .
- 设置windows磁盘图标
- C++基础知识
- 解开MSF团队管理的秘密
- android application学习之三
- 用dom4j 将xml to String 或者Document
- 冒泡排序
- Hadoop源码分析之数据节点的握手,注册,上报数据块和心跳
- COCOS2D-X WINDOW平台下安装配置
- (beginer) 半平面交 UVA 588 - Video Surveillance
- Java连接Oracle数据库
- 程序猿的情书
- 【九度】题目1472:求两个多项式的和