Android编码规范
Android开发代码规范相关系列文章:
Android编码规范有很多中,不是为了规范而规范,规范为了解决实际问题,帮你养成良好的编码习惯,提高编码效率的,这里只做一些个人经验总结。
1. 要分门别类存放各种类
具体请参考 重新规划项目结构
2. 高效的使用findViewById
具体请参考 重新学会findViewById
3. Laytou中的常量要在资源string.xml中定义
以下的的使用方式是错误的
<TextView android:text="评论"... />
我们应该将“评论”这个常量定义在string.xml中
<resources>
<string name="tvPersonContent">评论</string>
</resources>
然后在Layout布局文件中这样使用:
<TextView android:text="@string/tvPersonContent"... />
另一方面,在Activity中也需要设置一些常量,不能把它写死,要将其定义在string.xml中,然后每次都从资源文件中取值,如下代码:
String content = this.getString(R.string.tvPersonContent);
4. Layout中所有控件的字体大小,都定义在dimens.xml中
dimens它相当于网站的CSS样式表,如下所示:
使用方式如下:
<resources>
<!-- 字体样式 -->
<dimen name="font_size_small">12sp</dimen>
<dimen name="font_size_normal">14sp</dimen>
<dimen name="font_size_normal_high">16sp</dimen>
<dimen name="font_size_large">18sp</dimen>
<dimen name="font_size_large_high">20sp</dimen>
<!-- 边距 -->
<dimen name="offset_2dp">2dp</dimen>
<dimen name="offset_4dp">4dp</dimen>
<dimen name="offset_6dp">6dp</dimen>
</resources>
使用方式如下:
<TextView
android:textSize="@dimen/font_size_large" />
此外,对于所有控件的Margin偏移量,也需要统一规格,正如上面dimens.xml
中的定义,有若干种尺寸事先定义好供我们选择
<LinearLayout
android:layout_marginLeft="@dimen/offset_4dp"
android:layout_marginTop="@dimen/offset_6dp" >
</LinearLayout>
这样的好处是,只要稍微修改一下dimens.xml中的定义,就可以批量修改页面的样式。Androd的手机千奇百怪,各种奇葩分辨率都存在,在一些手机上,font_size_normal可能会过大或者过小,我们可以修改为13dp或则15dp,迅速完成修改任务。
5. 在Activity总,定义新的Activity的生命周期
具体请参考 为Activity定义新的生命周期
6. 统一事件编程模型
具体请参考 统一事件编程模型
7. Activity中不要嵌套内部类,尽量都独立出来,该放哪儿放哪儿
8. Adapter的编码规范如下:
- 所有的Adapter,都放在Adapter这个包中
- Adapter绑定的数据,一律为ArrayList<自定义可序列化的实体>
- 在Adapter中创建适合于列表自身的ViewHolder实体类,请统一命名为ViewHolder。
9. 数据类型转换一定要进行校检
具体请查考 类型安全转换函数