一、大多数的Android应用程序都会使用HTTP协议来发送和接收网络数据,而Android中主要提供了两种方式来进行HTTP操作,HttpURLConnection和HttpClient。这两种方式都支持HTTPS协议、以流的形式进行上传和下载、配置超时时间、IPv6、以及连接池等功能。区别在于Android5.1之后就废止了HttpClient的相关Api、但是对我们使用是没有影响的。也由于HttpClient的API数量过多,使得我们很难在不破坏兼容性的情况下对它进行升级和扩展,所以目前Android团队在提升和优化HttpClient方面的工作态度并不积极,具体用谁看我们自己挑选了。
二、安卓联网框架的筛选:Xutils,android-async-http ,volley, okhttp,;Xutils和android-async-http比较老了;Volley自己的定位是轻量级网络交互,适合大量的,小数据传输;okhttp是高性能的http库,支持同步、异步,而且实现了spdy、http2、websocket协议,api很简洁易用,和volley一样实现了http协议的缓存。picasso就是利用okhttp的缓存机制实现其文件缓存,实现的很优雅。OkHttp的内部源码过于复杂,不进行深究,这里只看其中的HttpEngineer里面的部分源码,在发起请求以及请求结束都会调用这个类的几个方法。我们先看networkRequest方法,在里面通过client.getCookieHandler()函数获得了CookieHandler对象,通过该对象拿到cookie并设置到请求头里,请求结束后取得响应后通过networkResponse.headers()函数将请求头获得传入receiveHeaders函数,并将取得的cookie存入getCookieHandler得到的一个CookieHandler对象中去。
三、在Android开发中,越来越多的商业项目使用了Android原生控件与WebView进行混合开发,当然不仅仅就是显示一个WebView那么简单,有时候还需要本地Java代码与HTML中的JavaScript进行交互,Android也对交互做了很好的封装,所以很容易实现例如:点击网页中的按钮Android调用原生对话框,点击网页中的电话号码调用Android拨号APP。主要功能点:1、webView如何加载H5页面。2、Android如何调用H5中的方法。3、H5如何调用Android中的方法。
四、图片加载在安卓中如果处理不当是引起OOM(内存溢出)的一个原因,也有流行的图片加载框架:Picasso,Glide,Fresco,ImageLoader。ImageLoader 是很早开源的图片缓存,在早期被很多应用使用。Picasso 是 Square 开源的项目,且他的主导者是 JakeWharton,所以广为人知。Glide 是 Google 员工的开源项目,被一些 Google App 使用。Fresco 是 Facebook开源的图片缓存库。自己可以酌情挑选。
五、纯手打,望采纳,希望能帮到你。