在eoe看上一个新闻客户端,以前没有做过,打算系统的学习一下,源码地址是点击打开链接;
一.首先看下MainActivity,使用注解式框架,并且继承baseactivity,其它activity都可以对啊继承
1.对dialog的处理,以前在进行处理的时候,只判断是否为空或者是否打开
public void dismissProgressDialog() {
try {
if (progressDialog != null && progressDialog.isShowing()) {
progressDialog.dismiss();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* dialog是否显示
*/
public boolean isShow() {
try {
if (progressDialog != null && progressDialog.isShowing()) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
在进行判断的时候可以捕获异常。
2.其实我看这个源码最主要的目的是学习他的缓存策略,我们都知道,新闻具有时效性,我们不应该所有数据都实时的请求,豆油一个过期的时间。本源码中用到的缓存工具是一个轻量级的开源框架,有多轻量级呢,只有一个java文件,ASimpleCache,他的作者很出名,afinal的编写者,github地址。看完之后,发现我突然不想做缓存了,太简单了。
3. 还有就是要看他的视频播放功能,以前我也做过,不过用的是原生态的mediaplay,感觉效果不好。这个项目使用的是Vitamio,这个开源项目大家都知道,具体的可以百度