说实话,要不是第一次课坐在那个位置,可能现在都还不知道Android是什么东西。从最开始接触的ShapeWriter,到做Presentation,直到最后在J2ME和Win Mobile的徘徊之下选择了Android的平台来做这个项目,特别是最近的这整整一个星期的努力,算是对Android平台有了一个初步的了解。不过实话实话,真正做这个项目也就这一个星期,项目的确是相当之小,不然一个星期。。。。。。
Google出的产品的确有其强大之处,巧妙的运用xml来布置界面,以及用专门的两个类来存储静态参数和各种ID,是一个不错的创新。不过对于刚刚入门的人来说,这又是一个及其痛苦的过程,大多数人会因为不习惯而觉得疑惑。这也是为什么尽管Android是运用的Java,但我就光熟悉它就花了这么久的时间。
更多的问题是出在开发的过程之中,首先是数据库的问题。对于这种轻量级的数据库,在Android上有自带的Sqllite可以选择,一开始我也的确想用它,但是发现相当不好用,而且里面的数据不透明,查看也不方便。后来改为使用db4o,另外一个小型数据库,的确是相当好,就个人而言是非常喜欢这个数据库的。而且他是直接把关系型数据库转换为了OO数据库,编程就相当方便了。
另外一个问题就是传输问题,我们选择了使用Xml-Rpc来传输数据,应该说是个很普通的选择,但就是这么一个简单的问题,就耗费了好多时间。很多平时在普通程序下很容易调的问题,在Android下,都成了问题。特别是其对相关第三方插件的检查比较严格,会经常报错。
移动开发的确很普通开发区别很大,最大的一个麻烦是每次调试都得等待Emulator重启,这就是一个长时间的过程。程序员一般来说又是不耐烦不愿意等的。其次,就是debug的时候,只能看到e的内容,看不到他的stack,也就是说看不到命令行的显示,即使想用system来out也看不到。当然我觉得这个应该是我的问题,估计是没找对地方。
这也暴露出了另一个问题,Android目前的资料太少了。就中文来说,几乎没有很好的资料,有的也都是从英文翻译过来的。而且很多资料都还是0.5版本的,因为那个版本的SDK是最长时间存在的。而最新出产的正式版到目前还没有一个月,资料多少可想而知。在英文论坛上资料相对而言多一点,但是也是参差不齐,没有很系统的介绍问题的。所以大多数问题都得自己去研究。而Android虽然号称是Open-Source,但是真正OPEN的只有它的Emulator,一堆一堆的C。在其中用JAVA实现的小程序是没有OPEN的,于是当我想借鉴一下,写Alarm Clock也成了妄想。如果在星期一之前没有人在论坛和Google Group里回答问题的话,我想也只有放弃了。
当然,这个玩意的前景我觉得应该是不错的,至少看到现在G1的形势应该是相当好的。不过要打破其他大厂家,还得继续努力啊。人拉进来了,做的怎么样就得看本事了。值得赞赏的是界面的确好看些,比WIN MOBILE呵呵。。。
Google出的产品的确有其强大之处,巧妙的运用xml来布置界面,以及用专门的两个类来存储静态参数和各种ID,是一个不错的创新。不过对于刚刚入门的人来说,这又是一个及其痛苦的过程,大多数人会因为不习惯而觉得疑惑。这也是为什么尽管Android是运用的Java,但我就光熟悉它就花了这么久的时间。
更多的问题是出在开发的过程之中,首先是数据库的问题。对于这种轻量级的数据库,在Android上有自带的Sqllite可以选择,一开始我也的确想用它,但是发现相当不好用,而且里面的数据不透明,查看也不方便。后来改为使用db4o,另外一个小型数据库,的确是相当好,就个人而言是非常喜欢这个数据库的。而且他是直接把关系型数据库转换为了OO数据库,编程就相当方便了。
另外一个问题就是传输问题,我们选择了使用Xml-Rpc来传输数据,应该说是个很普通的选择,但就是这么一个简单的问题,就耗费了好多时间。很多平时在普通程序下很容易调的问题,在Android下,都成了问题。特别是其对相关第三方插件的检查比较严格,会经常报错。
移动开发的确很普通开发区别很大,最大的一个麻烦是每次调试都得等待Emulator重启,这就是一个长时间的过程。程序员一般来说又是不耐烦不愿意等的。其次,就是debug的时候,只能看到e的内容,看不到他的stack,也就是说看不到命令行的显示,即使想用system来out也看不到。当然我觉得这个应该是我的问题,估计是没找对地方。
这也暴露出了另一个问题,Android目前的资料太少了。就中文来说,几乎没有很好的资料,有的也都是从英文翻译过来的。而且很多资料都还是0.5版本的,因为那个版本的SDK是最长时间存在的。而最新出产的正式版到目前还没有一个月,资料多少可想而知。在英文论坛上资料相对而言多一点,但是也是参差不齐,没有很系统的介绍问题的。所以大多数问题都得自己去研究。而Android虽然号称是Open-Source,但是真正OPEN的只有它的Emulator,一堆一堆的C。在其中用JAVA实现的小程序是没有OPEN的,于是当我想借鉴一下,写Alarm Clock也成了妄想。如果在星期一之前没有人在论坛和Google Group里回答问题的话,我想也只有放弃了。
当然,这个玩意的前景我觉得应该是不错的,至少看到现在G1的形势应该是相当好的。不过要打破其他大厂家,还得继续努力啊。人拉进来了,做的怎么样就得看本事了。值得赞赏的是界面的确好看些,比WIN MOBILE呵呵。。。