V0.2
1. Downloader
基于系统DownloadManager扩展,使用简单。
提供的功能:
- 下载进度监听
- 任务唯一性
一个Url多次调用只创建一个下载任务 - 任务校验
如果已经存在的下载任务出现下载的文件被异常删除,或任务错误,任务失败情况,会移除当前任务纪录,重新入队下载任务。
如何使用
- 创建参数
使用DownloadTask.DownloadRequestParams
配置下载所需参数。参数的url&dir&fileName
决定了任务的唯一性。 - 任务入队
使用Downloader.startRequest(Context context, DownloadTask.DownloadRequestParams params, DownloadTask.OnDownloadListener listener)
将参数传入创建任务入队,如果任务已经存在,则不会入队新的下载任务,如果下载的文件被删除或者任务异常等会重新入队下载任务。 - 注册监听
第2步执行后会返回一个DownloadTask
对象;
DownloadTask.registerCompleteReceiver(Activity)
注册下载完成回调事件;
DownloadTask .registerContentResolver(Activity)
注册下载进度回调事件;
可以通过第2步调用的方法的第三个参数处理相应的回调。 - 回收资源
如果注册了相应的监听,则需要在适当位置反注册监听,调用DownloadTask .onDestroy(Activity)
方法即可。
比如在Activity的onDestory生命周期中。
一点使用的小建议:可以在onresume中注册进度,在onpause中反注册,这样可以在界面暂停状态时免去界面刷新。
2.MultiStateView
MultiStateView 提供了一个多种状态View的视图容器(只是PageView的一个容器),可以在多状态View之间来回切换。
比如可能有这样的需求:先显示loading,根据加载的状态显示empty/content或错误界面等等。
再比如先显示一个loding,再显示一个广告页面,再显示content页面等,总之可以随意组织各个页面,并且提 供不同的展现形式,哪怕某个PageView是对话框实现。
3.TransparentStatusBar
提供基于4.4及以上透明状态栏的实现.