快捷实现网络请求Retrofit

第一步,在Android Studio目录下build.gradle中添加:

compile 'com.squareup.retrofit2:retrofit:(insert latest version)'
第二步,创建接口API,(DemoApi工具类 )

/**
 *DemoApi Api util
 */
public class DemoApi {
    private static final String URL = "http://cg.alwaysmkt.com.cn";
    /**
     * the basic RestAdapter
     */
    public static RestAdapter SimpleRestAdapter = new RestAdapter.Builder()
            .setLogLevel(RestAdapter.LogLevel.FULL)
            .setEndpoint(URL)
            .build();

    public static RestAdapter NormalRestAdapter = new RestAdapter.Builder()
            .setLogLevel(RestAdapter.LogLevel.FULL)
            .setEndpoint(URL)
            .build();

    /**
     * return a custom RestAdpater
     *
     * @param url                the custom url
     * @param requestInterceptor requestInterceptor
     * @return restAdapter
     */
    public static RestAdapter getCustomRESTAdapter(String url, RequestInterceptor requestInterceptor) {
        RestAdapter restAdapter = new RestAdapter.Builder()
                .setLogLevel(RestAdapter.LogLevel.FULL)
                .setEndpoint(url)
                .setRequestInterceptor(requestInterceptor)
                .build();
        return setLog(restAdapter);
    }

    /**
     * return a default RESTAdapter from address.properties file
     *
     * @param requestInterceptor requestInterceptor
     * @return a default restAdapter
     */
    public static RestAdapter getRESTAdapter(RequestInterceptor requestInterceptor) {
        RestAdapter restAdapter = new RestAdapter.Builder()
                .setLogLevel(RestAdapter.LogLevel.FULL)
                .setEndpoint(URL)
                .setRequestInterceptor(requestInterceptor)
                .build();
        return setLog(restAdapter);
    }

    private static RestAdapter setLog(RestAdapter restAdapter) {
        restAdapter.setLogLevel(RestAdapter.LogLevel.FULL);
        return restAdapter;
    }
}
第三步创建接Data类:

public class Data<T> {

    private int status;
    private String msg;
    private T data;

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "ResponseData{" +
                "state=" + status +
                ", msg='" + msg + '\'' +
                ", data=" + data +
                '}';
    }
}
第四步创建接口Service类:

public interface Service {
    //POST请求方式
    @POST("/api/supervisor/receivePhotos.action")
    @FormUrlEncoded
    void postPhotoResponse(
            @Field("submitId") String submitId//请求参数
            Callback<Data<String>>callback);

    //GET请求方式
    @GET("/api/supervisor/receivePhotos.action")
    void getPhotoResponse(
            @Query("submitId") String submitId//请求参数
            Callback<Data<String>>callback);

}
第五步使用:

Service service = DemoApi.NormalRestAdapter.create(Service.class);
service.postResponse("请求参数值", new Callback<data<String>>() {
    @Override
    public void success(data<String>data, Response response) {
        loadingDialog.dismiss();
        int status = data.getStatus();
        switch (status) {
            case 200:
                break;
            default:
               break;
        }
    }

    @Override
    public void failure(RetrofitError error) {
       Log.d("network", error+"");
         }
});

简单写下快捷实现网络请求Retrofit方法步骤。有错及时评价给我

发布了24 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/cxscxs123cxs/article/details/53607063