android http请求 史上安卓功能最全的http请求框架(带缓存)

史上安卓功能最全的http请求框架

一:介绍
本框架主要是get,post请求同种请求风格,并在这基础上做了缓存功能,开发者可以根据不同的缓存策略缓存或着不缓存,

WFHttpCachePolicy 缓存策略分为4种:
WFHttpCachePolicy.Default,                                      // *** 不提供缓存
 
      WFHttpCachePolicy.ReturnCache_ElseLoad,           // *** 返回缓存或着加载
   
                             WFHttpCachePolicy.ReturnCache_DidLoad,             // *** 返回缓存并且加载
   
                            WFHttpCachePolicy. Reload_IgnoringLocalCache,   // *** 忽略本地缓存并加载 (使用在更新缓存)

二:如何使用
2.1 :自定义application,重写oncreate(), 设置context -》WFHttpEnvironment.setContext(this.getApplicationContext()); 

   @Override
           public void onCreate() {
      super.onCreate();
          WFHttpEnvironment.setContext(this.getApplicationContext());
           }

  设置自定义application取代系统application(AndroidManifest.xml设置)
2.2 :需要的权限:请求网络、写入文件权限(缓存用到)

2.3 :GET请求

String URLString = "http://wiki.mbalib.com/wiki/%E4%B8%87%E7%A7%91%E8%82%A1%E6%9D%83%E4%B9%8B%E4%BA%89";
Map<String,String> header = new HashMap<String, String>();
header.put("aa", "aa_value");

WFAsyncHttpManager.get(
URLString, // 请求地址
header,    // 请求头
WFHttpCachePolicy.ReturnCache_ElseLoad, // 缓存策略
new WFHttpResponseHandler() // 回调
{
@Override
public void onSuccessByte(byte[] responseByte, boolean isCache) {
// TODO Auto-generated method stub
super.onSuccessByte(responseByte, isCache);
}


@Override
public void onSuccessJSON(Object responseJSON, boolean isCache) {
// TODO Auto-generated method stub
super.onSuccessJSON(responseJSON, isCache);
}


@Override
public void onFailure(Throwable t) {
// TODO Auto-generated method stub
super.onFailure(t);
}
});


2.4 :POST请求

  String URLString = "http://192.168.1.12/index.php";
// String URLString = "http://192.168.1.12:8082/api2/login";

Map<String,String> header = new HashMap<String, String>();
header.put("user-agent", "user-agent");
header.put("ok", "version_什么");

Map<String, String> param = new HashMap<String, String>();
param.put("username", "aaaaaaa");
param.put("password", WFHttpTool.MD5("p1"));
param.put("email", "123456@qq.com");
WFAsyncHttpManager.post(URLString, param, header, WFHttpCachePolicy.Default, new WFHttpResponseHandler() {


@Override
public void onSuccessByte(byte[] responseByte, boolean isCache) {
super.onSuccessByte(responseByte, isCache);
}


@Override
public void onSuccessJSON(Object responseJSON, boolean isCache) { 
super.onSuccessJSON(responseJSON, isCache);
}


@Override
public void onFailure(Throwable t) {
// TODO Auto-generated method stub
super.onFailure(t);
}
});
注:isCache 表示当前数据来源在哪里,是从缓存来的true | 还是从网络来的false

源码 :(http://code.taobao.org/svn/testAsyncHttpClient/)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值