30条条android项目开发技巧与经验总结项目开发技巧与经验总结
1、如果是阅读型文本(例如一篇文章),不需要固定大小的,textSize可以使用sp;如果是展示型文本(例如按钮中的文本),其大小受到限制
的,textSize可以使用dp。
2、使用json用作网络数据传输时,应该使用String字段取代int字段。
3、按照现在正常密度比(系统的densityDPI根据分辨率和屏幕尺寸为正常的120、160、240、320、480、640时)9:16的安卓机其尺寸为
(360dp*540dp)。UI有时会根据iPhone机型使用750px*1334px作图,而按照1dp=2px来算,其结果为(375dp*667dp)。这样放置控件,宽度上会少
15dp,高度上会少127dp,如果UI不做图的话,可以根据美观自行处理(通常不应在整个页面的padding上修改尺寸,这个尺寸应该是一开始原型图就
规定好的全局样式)。
4、使用GsonFormat插件生成实体类时,整个实体类应放在bean文件夹下。
5、使用Butterknife注解布局时,可以使用Android Butterknife Zelezny插件自动生成注解。
6、需要提交多个模块代码时,按模块多次提交(也方便填写提交信息)。
7、空页面应该有空页面图片提示。
8、支付宝沙箱环境测试,需要在页面启动前添加这么一句代码EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
9、将字符串转换成Bitmap类型
public static Bitmap stringtoBitmap(String string){
Bitmap bitmap=null;
try {
byte[]bitmapArray;
bitmapArray= Base64.decode(string, Base64.DEFAULT);
bitmap= BitmapFactory.decodeByteArray(bitmapArray, 0, bitmapArray.length);
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
10、在完成一个版本上线后,应至少分成两个分支,一个日常修复bug以及紧急上线,另一个用于正常功能开发。
11、如果一个接口不需要传参,应设计为传一个空参(例如new Object()),而不是不传参数,这样方便以后拓展接口。
12、adapter中所有的变化的view或值,都应该在viewholder中定义,并在onBinderView中赋值。
13、预览时选择Project Themes,同时gradle中应使用compile而不是implementation。
14、沉浸式状态栏需要设置主题为
<!--沉浸式状态栏-->
<style name="NoActionBarTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->