android开源框架android-async-http使用

这个框架非常好用对付一些普通缓存app非常好,



1.下载一个架包


2.写一个工具类代码如下:



package com.example.asynchttp;


import java.io.File;
import java.io.FileNotFoundException;
import java.util.Map;
import java.util.Map.Entry;


import android.content.Context;


import com.example.doctor.AppClient;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.RequestHandle;
import com.loopj.android.http.RequestParams;


public final class HttpUtil {

public static final String PER_TAG = "tongxinc_";
private static AsyncHttpClient httpClient;
public static final String versionAndSystem="&version="+AppClient.version+"&sys="+AppClient.sys;
static
   {
httpClient.setTimeout(11000);   //设置链接超时,如果不设置,默认为10s
   }
    public static synchronized AsyncHttpClient getHttpClient() {
        if (httpClient == null) {
            httpClient = new AsyncHttpClient();
            
        }
        return httpClient;
    }
    /**
     * Get有缓存
     */
    public static void get(Context context, String url, TextListener listener) {
        RequestHandle requestHandle = getHttpClient().get(context, url+versionAndSystem, listener);
        listener.setRequestHandle(requestHandle);
        listener.setUrl(PER_TAG + Md5Util.getDigest(url+versionAndSystem));
        listener.setCache(false);
    }


    /**
     * Get有缓存
     */
    public static void get(Context context, String url, RequestParams params, TextListener listener) {
            RequestHandle requestHandle = getHttpClient().get(context, url+versionAndSystem, params, listener);
            listener.setRequestHandle(requestHandle);
            listener.setUrl(PER_TAG + Md5Util.getDigest(url+versionAndSystem));
            listener.setCache(false);
            
    }


    /**
     * Post无缓存
     */
    public static void post(Context context, String url, RequestParams params, TextListener listener) {
        RequestHandle requestHandle = getHttpClient().post(context, url+versionAndSystem, params, listener);
        listener.setRequestHandle(requestHandle);
        listener.setMethod("POST");
    }
    
    /**
     * Get方法-带有缓存
     * 兼容Map<>参数
     */
    public static void get(Context context, String url, Map<String, String> map, TextListener listener) {
    RequestParams params = new RequestParams(map);
    get(context, url+versionAndSystem, params, listener);
    }


    /**
     * Post方法-无缓存
     * 兼容Map<>参数
     */
    public static void post(Context context, String url, Map<String, Object> map,Map<String, File> mapFile, TextListener listener) {
    RequestParams params = new RequestParams();
    for (Entry<String, Object> iterable_element : map.entrySet()) {
String conte=iterable_element.getKey();
String value=iterable_element.getValue().toString();
params.put(conte, value);
}
    if(mapFile!=null&&mapFile.size()>0){
    for (Entry<String, File> iterable_element : mapFile.entrySet()) {
        String conte=iterable_element.getKey();
        File value=iterable_element.getValue();
    try {
    params.put(conte, value);
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    }
    }
    }


    post(context, url+versionAndSystem, params, listener);
    }
    public static void post(Context context, String url, Map<String, Object> map, TextListener listener) {
    RequestParams params = new RequestParams();
    for (Entry<String, Object> iterable_element : map.entrySet()) {
String conte=iterable_element.getKey();
String value=iterable_element.getValue().toString();
params.put(conte, value);
}
    post(context, url+versionAndSystem, params, listener);
    }


    
}





3.动用HttpUtil类


HttpUtil.get()方法

HttpUtil.post()方法在success()方法里面返回请求结果大家在那里面解析更新ui即可瞒住大家的要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值