Android开发实战经验总结

来源:互联网 发布:centos6.5 apache 编辑:程序博客网 时间:2024/05/10 18:39

Android开发实战经验总结

1.好习惯
对于一些字符常量要进行全局变量化和类引用:
//Activity间使用Intent传递数据的两种写法:
//写法①
Intent intent = new Intent(this, DestActivity.class);
intent.putExtra(“param”, “clock”);
SrcActivity.startActivity(intent);

String param = getIntent.getStringExtra(“param”);

//写法②
Intent intent = new Intent(this,DestActivity.class);
intent.putExtra(DestActivity.EXTRA_PARAM, “clock”);
SrcActivity.startActivity(intent);
//DestActivity获取Srcactivity传递过来的数据。
public final static String EXTA_PARAM = “param”;
String param = getIntent.getStringExtra(EXTA_PARAM);
显然第一种写法是入门的小学生。我们要善于整理自己的代码


2.找好框架
网络访问框架:okhttp、retrofit、android-async-http、volley
图片加载框架:Android-Universal-Image-Loader、Glide、Fresco、Picassco
缓存框架:DiskLruCache、 Robospice
Json解析框架:Gson、Fastjson、Jackson
事件总线:EventBus、Otto
ORM框架:GreenDAO、Litepal
还有其他各种各样开源的自定义控件、动画,后期添加。
数据统计:友盟统计,百度统计…
奔溃搜集:腾讯bugly、bugtags…
云存储:七牛…
即使通讯:环信、融云、阿里百川…
推送:小米推送、腾讯推送、百度推送…
安全加固:360加固宝、爱加密…
一般情况下,我在选择是否引入一些开源框架主要基于以下几个因素:
借助搜索引擎,如果网上有一大波资料,说明使用的人多,出了问题好找解决方案;当然,如果普遍出现差评,就可以直接Pass掉了
看框架的作者或团队,如 JakeWharton大神、Facebook团队等。大神和大公司出品的框架质量相对较高,可保证后续的维护和bug修复,不容易烂尾;
关注开源项目的 commit密度,issue的提交、回复、关闭数量,watch数,start数,fork数等。像那种个基本不怎么提交代码、提issue又不怎么回复和修复的项目,最好就pass掉;
针对不开源SDK的选择,也主要基于以下几点去考虑:
借助搜索引擎,查明口碑;
很多第三方SDK的官网首页都会告诉你,多少应用已经接入了此SDK,如果你看到有不少知名应用在上面,那这个SDK可以考虑尝试一下了。诸如,友盟官网:
接入友盟的App:
- 查看SDK使用文档、它们的开发者社区、联系客服。好的SDK,使用文档肯定会详细指引你。出了问题,上开发者社区提问,他们的开发工程师也会社区上回答。实在不行只能联系客服,如果客服的态度都让你不爽,那就可以考虑换别家的SDK了.


3.抽象依赖第三方框架
举例讲解

ImageLoader imageLoader = ImageLoader.getInstance();imageLoader.displayImage(imageUri, imageView);imageLoader.loadImage(imageUri, new SimpleImageLoadingListener(){@Override    public void onLoadingComplete(String imageUri, View view, Bitmap loaderdImage){    //Do whatever you want with Bitmap    }});

这种做法看似合理,但是带来的问题也最严重的。如果我有几十上百个地方都这么写,到后来;我听说Facebook出了个神器 Fresco,想要换掉 Android-Universal-Image-Loader ,你就会发现你需要丧心病狂的去改动几十上百个地方的代码,不仅工作量大,而且还容易出错。造成这样的原因,就在于项目和加载图片的框架之间形成了强耦合,而实际上,项目本身不应该知道我具体用了哪个加载图片的框架。
GitHup Demo

4.MVC到MVP

MVP
MVP
5.Demo会持续更新,请期待。。。

0 0
原创粉丝点击