Android网络请求——OKHttp封装+GSON封装

封装好的OkHttp,GSON方便平时使用

public class OkHttpUtil {
    
    
    public static void GETOkHttpRequest(String address,okhttp3.Callback callback){
    
    
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                .url(address)
                .build();
        //OkHtt在enqueue()方法的内部已经帮我们开好子线程了,它会在子线程中去执行HTTP请求,并将结果回调到okhttp3.Callback中
        client.newCall(request).enqueue(callback);
    }
    public static void STOPOkHttpRequest(String address, RequestBody requestBody, okhttp3.Callback callback){
    
    
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                .url(address)
                .post(requestBody)
                .build();
        //OkHtt在enqueue()方法的内部已经帮我们开好子线程了,它会在子线程中去执行HTTP请求,并将结果回调到okhttp3.Callback中
        client.newCall(request).enqueue(callback);
    }
}
public class GsonUtil {
    
    
    private static Gson gson = new Gson();
    /**
     * 对象转成json
     *
     * @param object
     * @return json
     */
    public static String objectToJson(Object object) {
    
    

        String json = null;
        if (gson != null) {
    
    
            json = gson.toJson(object);
        }
        return json;
    }
    /**
     * Json转成对象
     *
     * @param json
     * @param cls
     * @return 对象
     */
    public static <T> T gsonToBean(String json, Class<T> cls) {
    
    
        T t = null;
        t = gson.fromJson(json, cls);
        return t;
    }

    /**
     * json转成list<T>
     *
     * @param json
     * @param cls
     * @return list<T>
     */
    public static <T> List<T> gsonToList(String json, Class<T> cls) {
    
    
        List<T> list = null;
        if (gson != null) {
    
    
            list = gson.fromJson(json, new TypeToken<List<T>>() {
    
    
            }.getType());
        }
        return list;
    }
    /**
     * json转成list中有map的
     *
     * @param json
     * @return List<Map<String, T>>
     */
    public static <T> List<Map<String, T>> gsonToListMaps(String json) {
    
    
        List<Map<String, T>> list = null;
        if (gson != null) {
    
    
            list = gson.fromJson(json, new TypeToken<List<Map<String, T>>>() {
    
    
            }.getType());
        }
        return list;
    }
    /**
     * json转成map的
     *
     * @param json
     * @return Map<String, T>
     */
    public static <T> Map<String, T> gsonToMaps(String json) {
    
    
        Map<String, T> map = null;
        if (gson != null) {
    
    
            map = gson.fromJson(json, new TypeToken<Map<String, T>>() {
    
    
            }.getType());
        }
        return map;
    }
}

猜你喜欢

转载自blog.csdn.net/haazzz/article/details/109566197