Android 学习笔记(二)前言

1 前言

本章主要是建立对Android的一个直观认识。

1.1 Android 是什么

Android一词的本义指“机器人”,在此是指美国搜索引擎公司Google在2007年11月5日公布的基于Linux平台的开源智能手机操作系统名称。该平台由操作系统、中间件和应用程序组成,号称是首个为移动终端打造的真正开放和完整的移动软件。它采用了软件栈(software stack)的架构,底层以Linux核心为基础,只提供基本功能,其他的应用软件则由各公司自行开发。另外,为了推广此技术,Google和其它几十个手机领军公司建立了开放手机联盟(Open Handset Alliance)。

需要说明的是:Android不开放中间件源码。除此以外,它开放了移动电话开发所需的所有软件。

Android的系统框架见第一章中的“系统框架”一节。

1.2 Android 可能的不足

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

1. 不开放中间件的源码

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平台的一致性。

2. Android的设计很漂亮,但是否实用还有待实践检验。

3. Java速度的限制

Android使用Java既可以利用Java的平台无关性,又可以降低应用软件的开发难度。但无论怎么优化,Java程序的速度是肯定不如原生代码的。Google的Mash-up的思想虽然不算新颖,但在嵌入式环境中投入实用,也是一个新的尝试。设计总有取舍,Google的选择是否合理,还需要实践检验。

1.3 Android 用什么语言开发的

Android的中间件以下(包括内核和驱动)采用C语言开发;

Android的SDK采用Java开发;

1.4 Android 支持哪些开发环境

1. Eclipse IDE

Eclipse 3.3 (Europa), 3.4 (Ganymede)

Recommended Eclipse IDE packages: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers

Eclipse JDT plugin (included in most Eclipse IDE packages)

Eclipse Classic IDE package is not supported.

JDK 5 or JDK 6 (JRE alone is not sufficient)

Android Development Tools plugin (optional)

Not compatible with Gnu Compiler for Java (gcj)

2. Other development environments or IDEs

JDK 5 or JDK 6 (JRE alone is not sufficient) ;

Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows ;

Not compatible with Gnu Compiler for Java (gcj) ;

1.5 Android 模拟器是用什么开发的?

Android的核心是Java虚拟机,为了高效,目前来看,google是不会支持其它语言的开发的。不过,android的模拟器是用qeum 开发的,它的镜像文件分成4部分放在tools目录下,如果我们将qeum修改一下,说不定能玩一下它的linux系统。

1.6 怎么进行Android 开发?

Android支持在模拟器上运行和调试应用软件,有兴趣的朋友可以下载他的SDK(software development kit)来了解android的界面;然后应该学习android的基本框架和应用程序的构成;最后就可以试着在sdk的API Demo的基础上开发自己的application了。

希望刚刚了解软件开发的朋友不要着急,一步一个脚印,一定会茁壮成长,开发优秀的application的。

1.7 有哪些好的网络资源可供Android 学习者用的呢?

首先,最好的最基本的学习资料无疑是SDK的文档了,它循序渐进的介绍了Android的各个方面:http://androidappdocs.appspot.com/sdk/index.html

其次,大家可能有对android文档不太理解的地方,或者自己的想法等等,完全可以通过下面的groups进行咨询和交流:

Ø Android Beginner    http://groups.google.com/group/android-beginners?lnk =

Ø Developper Groups   http://groups.google.com/group/android-developers

Ø Android Internals   http://groups.google.com/group/android-internals?lnk =

Ø Android Porting     http://groups.google.com/group/android-porting?lnk =

最后,就是一些推荐书籍了:

《新版Android开发教程+笔记》:提供入门;

《从入门到精通》:IBM android技术文档;

《Google Android开发入门与实践》

《Google Android SDK开发范例大全》

《Professional Android Application Development》:据说包含部分驱动介绍;

1.8 除了Android外,还有哪些常见的Linux手机平台?

较常见的Linux手机平台有:Maemo、Android、LIMO、OpenMOKO、GPE^2、ALP和QTopia Phone Edition。有兴趣的可以网上搜索下相关资料。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值