这个框架非常好用对付一些普通缓存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即可瞒住大家的要求