memoryboxes blog

Been here so long got to calling it home.

第一个AndroidApp-华容道

| Comments

第一个Android APP上线,很简单的一个小游戏:智取华容道

GooglePlay: https://play.google.com/store/apps/details?id=me.happy123.aklotski

百度应用下载地址: http://shouji.baidu.com/game/item?docid=7547918

小米商店下载地址: http://app.mi.com/detail/87656

老是对自己说,要不断学习,跟上时代浪潮。但是悲哀的发现,自己是跟的越来越吃力了。

早在大连搞电视机的时候,那时候Android刚出来,就对自己说,要好好看看。无奈之后各处辗转,这事就搁下了。

非不能也,实不为也!

过年空出来一个周,Python党也要写Android App了。

找了本 HeadFirst Java ,一天的时间扫了一遍Java的语法,写了几个小例子练练手。之后直接对着Android官方文档开干了。

流程就是 google –> 坑 –> 继续google ….,如此循环不已……

用父亲打扑克的机器,开个Eclipse基本上卡半天,本着一颗折腾的心,硬是PS出来几张背景图,小游戏<华容道>出炉啦。

图片和关卡都来自于代码发芽网,作者非常大度的授权我使用,非常感谢:

http://fayaa.com/

开发日志:

很巧的,我在知乎看到了类似”如何20天零基础开发Android游戏” 的问题。大家都是对这种问题不屑一顾的,但我从开始到完成恰好十来天,可以作为参考记录一下。

Day1

确立市场方向,要做个益智类游戏,啥好呢?啥好呢?我把所有的Android的华容道下载下来玩了一遍,嗯,都很粗糙,看来有的玩,就是它了。

这个时候,其实你已经完成一半工作了。没错,就是那句什么 决定出发的时候,旅行就完成了一半。 这个时候就不要纠结于做什么了,关键是如何做。

Day2

开始搭建开发环境,先后折腾了Android Studio和Eclipse,家里翻墙实在慢呀,另外我用父亲打扑克的机器跑Android Studio是在跑不动啊,最后装了Eclipse。推荐个链接,有兄弟收集了开发环境套装国内下载,你值得拥有。

http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.html

Day3

开始学习Java,神马?你都不会Java还来搞Android。嗯,我也没想到,有一天我要搞Java!要搞Java啊,我对它的印象还是航空母舰啊~~~。没办法,找了本 Head First Java 电子书,照着书里面的例子一个个敲,没错,不论懂不懂,就一个个敲。,幸亏 Head First 系列专门照顾低智商读者的,像我这样的一天敲到了300多页的例子。

Day4

不知不觉就把600页的书敲完了。嗯,看来那种xx天精通xxx,也不是骗人的,现在我的状态,估计能出去忽悠一些HR了。

Day5

先不管Android,搞一个穷人版的华容道。就开始封装三个类,什么接口啊,多态啊,统统不用,就是简单继承。搞了个核心库,棋盘就用 0011 先画出来了。嗯,最后可以玩了。不过只有我一个人懂得怎么玩。 不过很有成就感啊,看来一天写个俄罗斯方块之类的不是难事啊。

Day6

这个核心库很关键啊,挂了直接影响后面的开发啊。但是我用 0011 看的很累啊。赶紧google之,看看Java怎么搞测试~~~,好,最后集成了JUnit,顺便学了学怎么在Eclipse里面跑测试,最后写了一堆测试用例,果然发现了BUG,某些棋子竟然能对角线走动,罪过罪过。

Day7

Android程序怎么搞,现在八字还没一撇呢。热情啊,就要消耗光了。

赶紧找了本网上号称最简单的Android开发教程 第一行代码 ,再开始对着敲。没错,我就是只会这一招。

Day8

还在敲~~~,敲不完了。不是打字慢,而是电脑一开Android 手机模拟器就陷入昏睡模式,一气之下不敲了,直接接上手机开干。

Day9-Day13

游戏逻辑早写完了,我对Android App的开发印象就是:画View。没错,就是处理各种图像拉伸,各种尺寸适配,各种布局位置,各种奇葩的手机尺寸,各种API新老接口整合。

简单列举下中间遇到的坑:

  • 怎么在各种尺寸下画出一个比较漂亮的棋盘布局

  • 怎么用相对布局把几个菜单搞得整齐一点

  • 怎么PS出一个不那么生硬的背景,没错,我还同时开了Photoshop做美工,这个时候电脑已经处在超脱状态

  • 怎么在两个View直接传数据,怎么处理活动的生存周期

  • 怎么加背景音乐,怎么搞成服务,怎么能让程序退出的时候结束服务,怎么搞得好听一点,没错,这个时候我又客串DJ,研究了MP3各码率下音质和文件大小的关系,最后以专业乐评人的视角选择了一首古筝曲

  • 晕,现在为止还是只有一关呢,怎么办?我到 代码发芽 网上,写个Python脚本爬下来了所有关卡,同时邮件问作者申请授权

  • 到底是拖动棋子效果好呢,还是点击移动棋子效果好呢?我又化身PM,反反复复走最简单的一关, 十八步 ,最后确定还是点击效果好。没错,到目前为止,这个游戏我只玩通了三关,我的智商就是这样。最后我爸还解决了 横刀立马 ,我怎么也不行。

  • 发现一个重大问题,原来我一直以为只有五虎上将的,一共五横五竖十个长条棋子,突然发现有一关里面出现了魏延,我晕,再调吧

  • 又发现个问题,Android的默认sqlite模块好像没说怎么把已有的数据库集成进去,怎么办,Google吧

Day14

到各个Android市场注册账号,提交APP,等审核,之间经历若干PS工作,这也是辛苦活啊。

~~~~~

就是这样,我在各种大坑小坑瞎搞之后,瞎搞出来了。。。

结论

  • 所谓零基础xx天搞APP是可以的,但是有条件,你只是Android零基础或者Java零基础,其它编程基础还是要有的,不然期间大坑小坑肯定要浪费很多时间

  • 熟练工和初级工效率差距巨大,一天写个游戏APP不是开玩笑

  • 这样写出的APP完成度低,要加入完整的体验流程,工作量还是很大的

Comments