改造:使用改造将数据发送到服务器

时间:2015-10-13 07:45:55

标签: android post retrofit

我正在学习改造。我已经使用改造创建了一个login的类(通过以下互联网上的教程)。

现在,我尝试创建sign up的其他进程。我很困惑哪一个我应该在login函数中改变。老实说,我无法理解这些概念。

这是我的几个login代码:

UserLogin.java

public class UserLog {

    private String id;
    private String username;
    private String password;
//getter and setter...

RestCallBack.java

public abstract class RestCallBack<T> implements Callback<T> {

    public abstract void failure(RestError restError);

    @Override
    public void failure (RetrofitError error){
        RestError restError = (RestError) error.getBodyAs(RestError.class);// create your own class as
        // how the error message gonna showup from server side if there is an error

        if(restError != null){
            failure(restError);
        }else{
            failure(new RestError(error.getMessage()));
        }
    }
}

RestError.java

public class RestError  {

    public Integer errorCode;
    public String extendedMessage;
    private String message;
    private String moreInfo;
    private Integer status;

//getter and setter

SessionRequest.java

public class SessionRequestInterceptor implements RequestInterceptor {

    private static final String TAG = SessionRequestInterceptor.class.getSimpleName();

    @Override
    public void intercept(RequestFacade request) {
        request.addHeader("Content-Type", "application/json");/*
        you can add header here if you need in your api
        */
    }
}

RestLoginCLient.java

public class RestClient_Login {

    private static RestApi_login REST_CLIENT;
    private static String ROOT = "http://192.168.10/testapp";


    static {
        setUpRestClient();
    }


    public static RestApi_login get()
    {return REST_CLIENT;}

    private static void setUpRestClient(){
        RestAdapter restAdapter = new RestAdapter.Builder()
                .setLogLevel(RestAdapter.LogLevel.FULL)
                .setEndpoint(ROOT)
                .setClient(new OkClient(new OkHttpClient()))
                .setRequestInterceptor(new SessionRequestInterceptor())
                .build();

        REST_CLIENT = restAdapter.create(RestApi_login.class);
    }

RestApi.java

public interface RestApi_login {
            @POST("/user/login")
            void login(@Body UserLog user,
                       RestCallBack<LoginResponse> callBack);
}

LoginResponse.java

public class LoginResponse {
    public String email;
    public String id;
    public String error;
    public UserLog resp;

    LoginResponse(){}

//getter and setter

指导我应该更改哪一个代码,以便我可以创建我的sign up流程

2 个答案:

答案 0 :(得分:1)

要登录,您可以关注this链接。这给出了代码中发生的一步一步的想法。所以你也可以了解自己在做什么。

答案 1 :(得分:0)

我认为您最好先使用Retrofit而不使用OkHttp

1)定义您的响应java POJO class。

2)定义您的请求interface类。

3)设置callback响应(成功/失败)。

4)定义RestAdapter并通过您的界面使用API

这是基本方法而且更容易。