public class okhttputils {
private static volatile okhttputils inface;
public static Handler handler=new Handler();
private okhttputils(){
}
public static okhttputils getInface(){
if(null==inface){
synchronized (okhttputils.class){
if (inface==null){
inface=new okhttputils();
}
}
}
return inface;
}
public void get(String url, Map<String,String> map, final callback callback, final Class cls){
StringBuffer buffer = new StringBuffer();
buffer.append(url);
if(buffer.indexOf("?")!=-1){
if(buffer.indexOf("?")!=buffer.length()-1){
buffer.append("&");
}
}else{
buffer.append("?");
}
for(Map.Entry<String,String> entry:map.entrySet()){
buffer.append(entry.getKey())
.append("=")
.append(entry.getValue())
.append("&");
}
if(buffer.indexOf("&")!=-1){
buffer.deleteCharAt(buffer.lastIndexOf("&"));
}
OkHttpClient client = new OkHttpClient();
final Request request=new Request.Builder()
.get()
.url(buffer.toString())
.build();
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, final IOException e) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onFailure(e);
}
});
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String s = response.body().string();
Gson gson = new Gson();
final Object o = gson.fromJson(s,cls);
handler.post(new Runnable() {
@Override
public void run() {
callback.onResponse(o);
}
});
}
});
}
}
okhttp get方法
最新推荐文章于 2022-08-09 09:22:05 发布