2015-10-13 73 views
1

我正在學習改造。我已經完成了創建一個類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.j AVA

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 

指導我哪一個代碼,我應該在鄰改變rder我可以創建我的sign up過程

回答

1

對於登錄,你可以關注this鏈接。這也讓我們一步步瞭解代碼中發生了什麼。所以你也瞭解你在做什麼。

+0

'註冊'上面哪個代碼應該改變? –

0

我想你最好先開始使用Retrofit而不是OkHttp

1)定義您的響應java POJO類。

2)定義你的請求interface類。

3)設置callback響應(成功/失敗)。

4)定義RestAdapter並通過您的界面消耗您的API

這是基本的方法和更容易。

+0

我想通過做。你說過的這些代碼中的幾個,我已經理解了(也許不是專家)。當我創建上面實現的項目時,我更快地理解。 –

+0

我想如果你瞭解我描述的4個步驟,那麼應該沒有問題。你的代碼有點混亂和混亂,你應該重新定義你將實現你的請求,響應和調試的方式,以便理解你的通信中出現了什麼問題,然後詢問你得到的任何錯誤或錯誤代碼。但是這個代碼不會隨你的問題而發生變化。 –

+1

是的,我同意你的意見。我相信我的問題的答案是在我的代碼中,哈哈!但我仍然在尋找它在哪裏。即使我知道上面描述的幾個步驟,有時候,我仍然面臨困難。 –