Google机器人(android)来了
Google的手机策略终于浮出水面了。它将通过开放手机联盟(open
handset
alliance,http://www.openhandsetalliance.com,不知道正式的英文翻译是不是这样)发布一款开源的手机操作系
统,这东西叫android,查了一下字典,意思是机器人。这一查还真吓了我一条,这个机器人不知道指的是那个即将发布的手机还你我。
不管怎么说还是先看看它是个什么东西吧。
Android这东西据说是
Google收购一个同名小公司得到的。这东西据说包含以下功能:
一个可重用的应用程序框架。
本人大概试用了一下它的 SDK开发工具集,目前基本上是基于Java和 xml的。其界面的开发模式类似于 Mozilla XUL. 就是用一堆 xml文件将界面布局描述出来,再用程序绑定数据和事件处理。 其中最有意思的是R.java,是自动生成的资源索引文件,就是给每一个每一个资源,包括图片,界面,字符串等编号,程序中只需要引用这些就行了。这个文 件是编译的时候生成的,这样可能比java里目前常用的properties文件基于字符串的查找要快很多。但是我有时候也在想这种自动生成的编号要如何 维护?每次生成的是不是会变掉呢?改动资源之后再生成是否就变掉了能?如果会随便变调的话那就有些麻烦了,就会有程序和资源不同步啊,多个工程不太容易共 享资源啊等等问题。 当然了我也没深入研究,希望是我杞人忧天了。扯远了,回到正题。 Google没有这个可重用的框架是Java的,而且在SDK里还提供了一个 AIDL程序,就是Android Interface Definition Language,Android界面定义语言,也是是一种 IDL语言。由此可见 java将不是 Android的唯一编程语言。java编程需要IDL吗?以前还真没用过!当然这只是我的一个猜想,或者人家就是有些理由必须用IDL而不能用 java interface。
Dalvik virtual machine 据说是一个为手机优化的java虚拟机。不过更多的说法是为了避开Sun的java授权。这个虚拟机的能执行扩展名为dex的文件。Android的SDK提供了一个程序dx来生成这种文件。这让我想起了黑莓的alx和cod文件。为了支持黑莓手机,你要写一个 alx文件,然后用 RIM提供的工具将 jar文件转换到 cod文件。不过黑莓还好,支持标准的j2me的各种标准,只要是符合标准的程序转换格式之后都能在黑莓上使用。比如本人的词典程序就有黑莓版。但是这个机器人就不好说了,至少从它目前的SDK中没看出它会支持j2me. 不过它的SDK中的android.jar里有一些javax.microedition.lcdui的类。不知道他们到底是怎么想的。
一个集成的浏览器。基于WebKit,就是苹果上的 safari,最早叫 KHTML。从KDE世界走出来的。开源的世界真是有意思,从solaris,linux,bsd到gnome,kde到mozilla,webkit,再到compiz,beryl。有时候开源项目之间的竞争与对立较之商业软件更甚。那么这次为什么是 WebKit胜出呢?WebKit可能确实有些过人之处吧?或者因为http://trac.webkit.org/projects/webkit/wiki/S60Webkit有成功案例?又或者是因为Mozilla/Firefox已经太过肥大,没法适应手机的需要?拭目以待后续发展吧。这同时让我想起了OpenOffice,好像至今没有人真正开始将它移植到手机平台。所以目前的开源手机平台上始终没有一个可以和微软Office抗衡的开源办公软件。这不能不说是一个遗憾啊。不知道Google是不是希望我们在手机上用Google Doc吧?至少目前从模拟器里来运行看起来还是惨不忍睹。
优化了的图形显示。这个就比较牛了。支持2D之外,还支持通过OpenGL ES 1.0标准支持3D,甚至还有可选的硬件加速. OpenGL ES 1.0是参照OpenGL 1.3标准制定的。ES是embedded systems(嵌入式系统)的缩写。
不知道这和Java3D又是什么关系。是另起炉灶吗?希望不是,但是谁知道呢。
SQLite数据存储。 SQLite是一个开源的数据库。它非常小,而且最特殊的是它的协议。它是public的。就是没有协议,全宇宙的共通财产,你爱怎么处置都行。
媒体格式支持。据说支持各种视频,音频及图片格式,如MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF等。不过不知是不是支持rm格式?如果支持,是移动rm还是标准rm?
GSM (2G),EDGE(2.75G),3G, 蓝牙,Wifi等。
数码相机,GPS等。
丰富的开发资源。废话。那个系统不提供啊。
好了就是这些了。
突然想起来,Sun也收购了一家生产手机操作系统的公司savaje。一直看到http://www.savaje.com/上说 Sun已经完成了对savaje的收购。据说就是Java Mobile FX(见http://www.sf.org.cn/news/industry/200707/20070716092839.html)。
多一种选择对最终用户来说终归是好事,不过开发人员就比较头疼了。








