轻轻松松的学习Android组成框架

移动开发 Android
Android组成框架使用Java既可以利用Java的平台无关性,又可以降低应用软件的开发难度,Google很可能用商业手段来保证Android平台的一致性。

Android组成框架为Google企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信息"这一企业目标的实现。

Google的目标是让移动通讯不依赖于设备甚至平台。出于这个目的,Android将补充,而不会替代Google长期以来奉行的移动发展战略。通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。

Android组成框架的一个重要特点就是它的应用框架和GUI库都用Java语言实现。Android内部有一个叫作Dalvik的Java虚拟机,Java程序由这个虚拟机解释运行。Android平台的应用程序也必须用Java语言开发。网上有评论说Android的虚拟机使用Apache的Harmony类库。

Harmony类库是Apache组织开发的开源 Java类库,用Apache许可证发布。Android应用框架采用了Mash-up的组件模型:组件(Activity) 向系统注册自己的功能。每个组件要使用其它组件的服务时提出自己的要求(intent),系统根据intent在已登记的组件中确定合适的组件。Android平台的API文档很完善。

基于Android平台开发应用软件应该是一件轻松、愉快的事情。但是,选择Android平台存在以下问题:
Google目前只开放了SDK。

即应用软件的开发接口,没有开放中间件的源代码。在没有源代码的情况下,也可以把Android移植到兼容的开发板(CPU核采用ARMv5指令集)上,但因为不能定制而无法将其用于实际产品。

Google现在没有明确什么时候发布中间件的源代码。其实Google也没有明确说过将发布中间件的源代码。Google说Android是“the first complete, open, and free mobile platform”。在英文中“free”既可以解释成“自由”,也可以解释成“免费”。

如何解释完全在于Google。我觉得Google最想抓住的是 应用软件的开发者,即希望公司和个人都学习它的SDK,为它的平台开发应用软件。Google肯定会和厂家合作,开发支持Android平台的手机。但 Google是否会在网络上完全开放中间件代码,还是个未知数。

如果Google完全开放这个平台,那么与J2ME类似,各公司肯定会在这个平台上添加自己的扩展,使各平台不能完全兼容。所以,Google很可能用商业手段来保证Android平台的一致性。Android的设计很漂亮,但是否实用还有待实践检验。Android使用Java既可以利用Java的平台无关性,又可以降低应用软件的开发难度。

但无论怎么优化,Java程序的速度是肯定不如原生代码的。Google的Mash-up的思想虽然不算新颖,但在嵌入式环境中投入实用,也是一个新的尝试。设计总有取舍,Google的选择是否合理,还需要实践检验。

在没有源代码的情况下,也可以把Android移植到兼容的开发板(CPU核采用ARMv5指令集)上,但因为不能定制而无法将其用于实际产品。Google现在没有明确什么时候发布中间件的源代码。其实Google也没有明确说过将发布中间件的源代码。

Google说Android组成框架是“the first complete, open, and free mobile platform”。在英文中“free”既可以解释成“自由”,也可以解释成“免费”。如何解释完全在于Google。我觉得Google最想抓住的是 应用软件的开发者,即希望公司和个人都学习它的SDK。

为它的平台开发应用软件。Google肯定会和厂家合作,开发支持Android平台的手机。但 Google是否会在网络上完全开放中间件代码,还是个未知数。如果Google完全开放这个平台,那么与J2ME类似,各公司肯定会在这个平台上添加自己的扩展,使各平台不能完全兼容。所以,Google很可能用商业手段来保证Android平台的一致性。

【编辑推荐】

  1. 新一代的Android手机介绍 深度剖析Android SDK版本介绍
  2.  
  3. 谷歌Android手机能否站稳中国
  4. PythonAndroid深度剖析Android应用程序的四种构造块
  5. 探秘与众不同的Android系统?
责任编辑:chenqingxiang 来源: 博客园
相关推荐

2009-09-15 16:26:46

Linq排序

2010-01-14 16:10:21

C++开发

2010-01-15 10:14:21

C++ Builder

2010-01-18 11:20:58

C++语言

2009-11-09 15:41:14

WCF安全性

2009-11-10 15:44:17

VB.NET常量

2010-03-01 17:32:21

Python 测试模块

2010-01-26 14:53:43

C++

2010-01-20 10:31:18

C++编程技术

2009-06-10 17:58:41

2010-01-20 18:17:55

C++异常问题

2017-10-27 12:00:28

MySQL数据库优化

2010-08-30 09:27:20

2015-09-22 10:31:11

2011-04-28 15:41:02

打印机卡纸

2019-11-28 10:21:01

MySQLDocker数据

2009-11-11 09:31:44

ADO.NET事务处理

2012-01-05 10:23:33

IE9预订火车票

2019-05-28 15:05:10

NginxTomcat负载均衡

2009-02-20 13:39:01

点赞
收藏

51CTO技术栈公众号