项目的预期目标当然是实现所有的功能,能按照我们设计的需求规格说明书上说的全部都实现,但是现实总和我们的预期有出入。由于服务器端的知识迟迟没有融汇贯通,我们只能暂时先在安卓内置的数据库sqlite上去编码实现我们预期的功能。但是这sqlite有很多缺点。比如重新运行含有创建sqlite表的activity(数据的插入也在同一个activity),表中的数据会重新初始化;创建多个表的时候程序容易崩溃。而且最终要连接服务器同步数据就要抛弃sqlite的操作(虽然有想过在成功连接服务器后,在sqlite操作前同步服务器的数据库数据,后来还是抛弃了这个念头)。
先说说我们组成员在开始这个项目前掌握知识的情况吧。
我,子淇,逸豪,志明在此之前没接触过安卓的项目,只有志明稍微精通一些java语言。我们都是从头开始学习,而且之前的数据库连接服务器有关的内容都是一知半解。所以没有任何项目开发经验的我们,我只能试着先分配任务:
志明和逸豪负责学习服务器端的知识;我和子淇负责安卓项目框架的构建,布局文件的设计,我后期还主要负责sqlite块的编码。感觉作为组长,我的任务安排还可以,每天都或多或少有一些进度。但是,中间由于逸豪电脑故障的原因,导致他已经跟不上我们组的进度了,这点我做的不够好。
没有任何的开发经验,走弯路是必不可少的。其中我最耿耿于怀的就是我没能和组员一起重视GITHUB的源码管理功能。因为不了解github的基本功能,我们只把他当成上传代码,给助教检查进度的工具。我们之间的代码是通过QQ来传递,覆盖相应的文件就可以。不过由于项目比较简单,我可以做到每天布置的任务最后都可以没有矛盾的汇总,需要修改的部分极其微小:首先由我来完成各个Activity的跳转按钮监听事件,把所有可能要用的activity都创建好,每个activity用一个文本框来标注功能,差不多三天就弄好了。子淇利用这段时间学习layout的各种布局,控件,然后我把项目交给她。她在完成layout的编写的期间,我们小组尝试了一下eclipes连接mysql,结果eclipes成功连接了,模拟机上却连接不上数据库,于是我们改变了方针。我当即做出决定使用sqlite先暂时存储数据,并实现部分功能的操作。于是我开始学习activity的数据传递和sqlite的操作。志明和逸豪依旧负责服务器端的编写。最终到现在,我们完成了在手机模拟器端,用sqlite实现用户的登录功能,用户修改个人信息,以及管理员修改所有用户信息的功能。由于我使用sqlite创建多张表程序会崩溃,所以完成这个功能以后,只能停滞下来等待服务器方面的进展。
由于知识的缺乏,布置任务时,我们串行编程的空闲,刚好可以用来学习一些接下来可能用得到的知识。时间分配上还算合理。但以后我们会重视GITHUB的使用,采取效率更高的并行编程。
我作为毫无经验的团队领导人,体验了管理团队的整个过程,尽量与组员之间多沟通,合理的安排任务;同时也强迫了自己学习了很多安卓,java的知识。也体验了项目从设计到完成的整个过程,感觉还是很充实的。这几天会继续努力把项目完成。