Skip to content

基于android volley库的demo,并附上volley源码和注释理解。

Notifications You must be signed in to change notification settings

RadiateWSG/Android-Volley-Demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android-Volley-Demo

基于android volley库的demo,并附上volley源码和注释理解。

概要分析

  • 总体设计:

  • Response的解析流程:

1、DiskBasedCache中缓存有该request,则用Cache.Entity在构造NetworkResponse对象。
2、缓存中没有,则加入网络请求队列,BasicNetwork的performRequest()方法中会用HttpResponse构造NetworkResponse对象,而HttpResponse的获取具体实现方法有两种:HttpURLConnection(API >= 9)和HttpClient。
3、NetworkResponse会被具体的Request解析为对应的Response,比如StringRequest、JsonRequest、ImageRequest中都实现了自己的parseNetworkResponse()方法。
4、得到Response后,再由ResponseDelivery(具体实现类是ExecutorDelivery).postResponse(request, response)来发送reponse。
5、最后具体的Request会在deliverResponse()方法中收到消息,并在该方法中回掉Listener给具体调用者。

  • 关于Volley源码的解析,有很多写的不错,可以拿来参考:

[源码分析](http://www.codekk.com/open-source-project-analysis/detail/Android/grumoon/Volley%20%E6%BA%90%E7%A0%81%E8%A7%A3%E6%9E%90)
[磁盘缓存DiskBasedCache](http://blog.csdn.net/asdzheng/article/details/45955653)

About

基于android volley库的demo,并附上volley源码和注释理解。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages