从学android到现在,已经开始入门了。
之前开发过一个mp3播放器,那个算是练手,不过基本包括了我目前掌握的全部知识:UI设计(activity和组件的应用)、通信(intent和service)、多线程(HandlerThread)、异步(handler)。当然,这只是android的九牛一毛。不过我感觉掌握了这些,一般的应用的简单功能都可以实现了。
现在正在弄一个游戏,这是我小时候玩过的一个双人游戏,算是棋牌类的益智游戏吧。当时还没有电脑,只能在纸上画棋盘两人玩。现在好了,我可以写出来,和电脑玩了。当然,我除了开发单机版,也开发了个网络版的,不过我还不太了解如何开发网络版的应用,还没去了解wife(不知道这个东西和联网有关没),尽管懂一点点java里的socket。
不用wife和socket,我是如何实现联网的?我用了一个tomcat服务器作为中转,通过java.net包中的类访问web服务器上的servlet,将双方数据保存在web服务器上,并且在服务器上进行运算,终端只负责发送、接收,并根据接收回来的数据绘制棋盘。
这个游戏,除了上面提到的开发android应用的基本知识外,还用到了自定义view以及自定义view的layout。
现在这个游戏的整体框架和逻辑已经完成了,人类玩家的功能也实现了,差的就是电脑走棋没有弄了,弄完电脑走棋,剩下的就是提高用户感受的零零碎碎的细节完善了。说到电脑走棋,似乎要涉及到人工智能——听上去挺吓人的名词,不过我现在不想弄明白啥叫人工智能,只把我下棋时的分析过程用电脑去实现,这看上去似乎挺好玩了,如果顺利实现,就成了我和我自己对弈了。