Android应用程序框架

1 无边界设计理念

Android的应用框架的外特性空间的描述在SDK文档( http://androidappdocs.appspot.com/guide/topics/fundamentals.html#acttask ) 有十分清楚的描述,Android应用的基本概念,组件生命周期等等有详细的描述。在外特性空间中,Android提供了 Activity,Service,Broadcast receivers,Content Provider,Intent,task等概念,我在这里不讨论这些概念定义,因为SDK文档已经讲得够详细。

在阅读SDK文档和研究Activity这个概念时,我感觉到了在Android中若隐若现的Android自由无边界这个设计意图。Android的应 用只是一个虚的概念,并没有实际的入口,这个不像Window平台上的应用程序的概念,Android更多的是提供组件(Components)的概念。 为什么要虚化应用的概念?我想这个虚化就是自由无边界设计意图的直接体现。突出请求和服务,突出组件个体,弱化边界,系统的各个组件可以自由的无边界的交 流,服务请求者直接发出请求,不论这个对象在何处和属于谁的,组件是自由独立的个体,一个应用程序可以直接请求使用其他的应用的的组件,这个是 Android应用框架设计的核心理念,其他的一切都是在为这个核心理念服务。

让程序员忽略应用的概念,甚至彻底的抛弃进程这样的概念,程序员看到的就是一个一个的组件,应用程序员利用这些组件来架构成一个所谓的应用,那么设计者首先要考虑的是什么呢?我想应该是一个抽象的应用模型,在这个模型下产生概念和接口。

我们知道MicroSoft提出了Application,Windows的概念,有前景应用(Foreground Application)概念,MicroSoft的应用模型中用户交互则完全交给了Window,各种界面的呈现都是属于这个应用的是孤立的,应用程序 之间的各个构成对象不能相互访问,最多提供一个进程间通讯机制,那个也是应用程序层面的。虽然Microsoft后来也提出了组件,分布式组件等概念,但 是这些不是根植在Windows系统中,而Android则是彻底的组件化思想构建,一开始的应用程序概念就是 Activity,Service,Broadcast receivers,Content Provider,Intent,Task。这些概念体现了一个人机交互的模型本质:

界面呈现

发起请求,响应请求

内容交互

消息接收处理

Activity 是Android应用的核心概念,简而言之Activity为用户交互管理者,有一个可视界面呈现,而Service跟Activity的区别是他在后台 运行,没有界面呈现。而Intent的意义是意图,他在Android的概念空间中,代表消息,这个消息代表了请求的意图。

Activity可以到处存在,提供服务,消除空间差别,Activity是一个独立的个体,更能表现面向对象的实质。这个个体需要接受另外的个体的消 息,可以随时发起对另外一个个体的请求。个体是自由的,Android中你可以开始一个Activity,但是没有权利消灭一个Activity,这是个 体权利的体现,个体的消灭是由系统决定的,这个就是Android中Activity蕴含的人文意义。

更多相关文章

  1. 疯狂Android讲义(第2版)
  2. android 处理运行时改变 开发文档翻译
  3. 亚马逊面向开发人员推出Android应用商店
  4. manifest文件
  5. Android进程间通信--消息机制及IPC机制实现
  6. 社区讨论:Android的架构设计
  7. 【Android(安卓)Dev Guide - 01】 - What Is Android?什么是Andro
  8. Android应用程序消息处理机制(Looper、Handler)分析(1)
  9. 从零开始--系统深入学习android(实践-让我们开始写代码-Android框

随机推荐

  1. 学习网址
  2. Android 6.0 PowerManagerService 一
  3. Activity 的Managing Tasks属性
  4. Android的settings命令
  5. Android-x86虚拟机
  6. android 对电话的处理
  7. Andorid利用sserver/runtime实现java执行
  8. 高德地图Android版SDK的应用(定位,添加自
  9. 42.Android LocationManager
  10. Android TextView 个别文字字体颜色格式