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会持续更新,请期待。。。
- Android 开发实战经验总结
- Android 开发实战经验总结
- Android 开发实战经验总结
- Android 开发实战经验总结
- Android 开发实战经验总结
- Android开发实战经验总结
- Android 开发实战经验总结
- Android 开发实战经验总结
- Android小记:开发实战经验总结
- 他人 Android 开发实战经验总结
- 我的 Android 开发实战经验总结
- 我的 Android 开发实战经验总结
- 我的 Android 开发实战经验总结
- 我的 Android 开发实战经验总结
- 我的 Android 开发实战经验总结
- 我的 Android 开发实战经验总结
- Android 开发实战经验总结(架构人生)
- 我的 Android 开发实战经验总结
- HTML前端学习1029(HTML结构)
- C语言实现打字通游戏
- HDU 4777 Rabbit Kingdom
- Problem 35 Circular primes (STL:rotate)
- 一周IT博文精选TOP10(第七期)
- Android开发实战经验总结
- Linux虚拟内存管理(一)
- 【Hibernate】Hibernate的集合映射与sort、order-by属性
- Problem 36 Double-base palindromes (二进制回文)
- 【UVA2031】cycle {二分+spfa/Bellman ford}
- git基础使用(一)
- tomcat闪退
- Shiro开发框架,固定信息Realm认证。
- Ajax操作