在前文曾经写过Java坦克大战游戏设计,但是后来由于没有时间,就没写完,最近,计划将地图开发包移植到Android平台。因此需要对Android平台进行学习,在看过Android开发指南后,对Android平台有了一些了解,但是还是无实战经验,学习一个平台最好的办法是通过一个项目,也就是通过编程来学习一个新的移动开发平台。因此想起几年前在Java ME平台上写的坦克大战游戏,这个一个既有趣以能充分了解一个新平台的项目。而且通过两个平台的比较,也就更好的理解Android平台开发的一些特点。
下图是Java ME平台下坦克大战的界面效果图。
在移植到过程中,发现尽管Android,和Java ME都是以Java为开发语言的手机平台,两都之间的差异还是不少的,但好处是,两者都采用Java语言,相当一部分与平台无关(如除图形,网络之类)的代码是可以通用的,这大大减少了从Java ME到Android平台移植的工作量。
这里先给出一些移植过程中的总结,后续文章将较详细的说明坦克大战游戏的设计过程(适用于各个平台)。
1. Android应用一般无主程序入口,但对于单Activity的应用来说,Activity相当于Java ME的 Midlet.
2. Android中View的概念类同于其它平台中Control的,ViewGroup相当于Container. 当然它也可以用作一个窗口View,在移植的过程中,采用单Activity,多窗口View的方法来对应于Java ME的Midlet和多个Displayable类.