前两天刚从亚马逊买了本书,今天看了第一章,虽说都是些基础性的东西,但是颇有所获,感觉自己以前真的不算是一个合格程序员,不知道项目的规划与优化,JAVA代码我一直是把所有的代码都放在一个package下,Adapter,activity都是混乱掺杂在一起的。好比一个房间中既有餐桌又有马桶,床上还放着一个酱油瓶。这在当时觉得没什么问题但是,如果需要优化和调试的时候,想找到问题的所在真的是犹如大海捞针。我想好多朋友也遇到过这样的问题。下面就APP项目开发我学到的几点:
1、规划Android项目结构
规划Android项目结构分以下两步走:
一、建立Android Lib类库,将与业务无关的逻辑转移到Android Lib。
二、将主项目中的类进行划分,放在不同的package下。
每个项目都应该有一个基类BaseActivity继承自系统的Activity,其项目中所有Activity继承自该类。这样划分归类后就有助于我们快速的定位到问题的所在。项目规划结构好就好比“打扫干净屋子再请客”。
2、为Activity定义新的生命周期
SOLID原则中有一条原则是:单一职责——一个类或方法,只做一件事情。
我们APP设计中最好也遵循单一原则。不要再一个类或方法中干很多事,如果要干很多事,我们可以把这些事单独的写成类或方法,再在这个类或方法中调用他们。这样能够保证我们项目的结构清晰,不至于写错变量和语法。
3、统一事件编程模型
所有的开发人员统一某种事件的编程方式,如点击按钮式件,在初始化按钮时就添加单击事件监听,那就所有的按钮都这样操作。
4、实体化编程
很多Android开发人员在做项目时大多不用fastJSON或者GSON,其实我也不用,觉得麻烦。在获取MObileAPI网络请求返回的JSON数据是,使用JSONObject或JSONArray来承载数据,然后把返回的数据当作一个字典,根据键取出相应的值。当页面跳转时我们大多使用全局变量,但是APP切换到后台,手机内存不足时会回收这些全局变量,当APP在切换到前台时就会崩溃。所以我们应该学会使用实体化编程。
5、类型安全转换函数
我们很多时候都会遇到APP崩溃的原因是由于类型转换不正确所导致的,因此我们有必要专门为类型转换来构造一个方法,实现如果转换失败就返回默认值。