(信息化办公室 武文韬 2018.3 )
在本月,我制作了一个名为GeoQuiz的应用Demo,应用了最近学到的一些知识。
设计该应用之心得
1. 在制作较为复杂的应用时,最好使用MVC设计模式,也就是俗称的MVC分层。
M是model,也就是模型层。V是view,也就是视图层。C是controller,控制层。通过分层可以使应用结构清晰,通过接口也就是interface进行低耦合,防止应用结合太过紧密而无法进行修改和升级。
2. 在设计应用时一定要预留升级的空间,不可将应用写的太死。否则在升级的时候要进行大量底层的变动,非但费时费力,还很容易出错。一但出错,若无上个节点的备份,会出大问题。
编程该应用之心得
1. 在设计一些比较重要的键也就是Key的时候,最好将其写在文件顶端引用库文件的位置下方,并用静态也就是static和final进行标记。因为这些键在安卓设计中是贯穿activity的重要工具,经常配合intent进行传参等操作。若不写成静态的,首先可能被更改,程序容易出错,也并不安全,容易被攻击。
2. 当程序出现未知错误时,可以通过清理应用程序缓存也就是在Androidstudio进行CleanProject操作以防止gradle出错。因为错误是未知错误,即便是贴到百度等搜索引擎上也是非常难找到解决办法的。
3. 较为复杂的逻辑一定要单独封装进多个方法中,然后在主要方法中进行调用。我在学习过程中,想给qeoquiz应用添加一些功能,比如增加后退翻页按钮,防止数组溢出等,修改了一些代码。最后导致应用崩溃,幸好事先留有备份。
4. 在使用DEBUG工具时一定要耐心,断点的位置也是一门学问。这样的复杂应用一旦出现问题,用眼睛判断是非常困难的。而当应用逻辑出现问题时,即便是Androidstudio的lint已经非常智能,但是也无法自行判断设计者的意图是否有误。这个时候断点调试是非常必要的。在一开始,因为自己的不耐心,一步一步运行的时候没有注意变量值的变化,被迫再来一次。然后才意识到自己的断点打的位置不好,导致要单步运行多次。
总结:
本月我收获很大,从理论变成产品是一个比想象中更艰巨的工作。虽然成品只是一个答题软件的demo,但我也走了许多弯路。我意识到,虽然软件制作了出来,但我对activity的生命周期和参数传递的认识并不好,通过阅读API文档,我补足了一些,但软件开发对于独立开发者是一个艰巨的工作,我还需要学习的更为扎实。
该见习生在信息化办公室服从安排,积极工作,在完成公司任务之后还自己学习进步。希望他努力学习,早日为公司信息化做出自己的贡献。