Advertisement
vitareinforce

contoh cara pake retrofit dan interface

May 14th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.98 KB | None | 0 0
  1. private RestServiceInterface restServiceInterface;
  2.     @Override
  3.     protected void onCreate(Bundle savedInstanceState) {
  4.         super.onCreate(savedInstanceState);
  5.         setContentView(R.layout.activity_features_login_login);
  6.  
  7.  
  8.         restServiceInterface = RestServiceClass.getClient().create(RestServiceInterface.class);
  9.  
  10.     }
  11.  
  12. /**
  13.      * Attempts to sign in or register the account specified by the login form.
  14.      * If there are form errors (invalid email, missing fields, etc.), the
  15.      * errors are presented and no actual login attempt is made.
  16.      */
  17.     public void attemptLogin(String email, String password) {
  18.         if(!isEmailValid(email)) {
  19.             new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
  20.                     .setTitleText("Error")
  21.                     .setContentText(getResources().getString(R.string.error_invalid_email)).show();
  22.         } else if(!isPasswordValid(password)) {
  23.             new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
  24.                     .setTitleText("Error")
  25.                     .setContentText(getResources().getString(R.string.error_invalid_password)).show();
  26.         } else {
  27.             pDialog.show();
  28.             if(RestServiceClass.isNetworkAvailable(LoginActivity.this)){
  29.                 login(email, password);
  30.             }else{
  31.                 pDialog.dismiss();
  32.                 new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
  33.                         .setTitleText("Error")
  34.                         .setContentText(getResources().getString(R.string.pastikan_internet_label)).show();
  35.             }
  36.         }
  37.     }
  38.  
  39. private void login(String email, String password) {
  40.  
  41.         Call<LoginUser> call1 = restServiceInterface.userLogin(email,password);
  42.         call1.enqueue(new Callback<LoginUser>() {
  43.             @Override
  44.             public void onResponse(Call<LoginUser> call, Response<LoginUser> response) {
  45.                 LoginUser result = response.body();
  46.                 if(result != null){
  47.                     if(result.getStatus().equals("success")){
  48.                         SharedPreferences.Editor editor = sharedPreferences.edit();
  49.                         editor.putString(getString(R.string.PREFS_TOKEN), result.getData().getToken());
  50.                         editor.putString(getString(R.string.PREFS_USER_ID), result.getData().getUser().get_id());
  51.                         editor.putString(getString(R.string.PREFS_PROFILE), new Gson().toJson(result));
  52.  
  53.                         //editor.putString("prefs_user_role", "");
  54.                         editor.putString(getString(R.string.PREFS_IS_LOGIN), "1");
  55.                         editor.commit();
  56.  
  57.                         pDialog.dismiss();
  58.                         startActivity(new Intent(LoginActivity.this, MainActivity.class));
  59.                         ActivityCompat.finishAffinity(LoginActivity.this);
  60.  
  61.                     }else if(result.getStatus().equals("error")){
  62.                         pDialog.dismiss();
  63.                         new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
  64.                                 .setTitleText("Error")
  65.                                 .setContentText(result.getMessage()).show();
  66.                     }
  67.                 } else {
  68.                     pDialog.dismiss();
  69.                     new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
  70.                             .setTitleText("Error")
  71.                             .setContentText(result.getMessage()).show();
  72.                 }
  73.             }
  74.  
  75.             @Override
  76.             public void onFailure(Call<LoginUser> call, Throwable t) {
  77.                 pDialog.dismiss();
  78.                 new SweetAlertDialog(LoginActivity.this, SweetAlertDialog.ERROR_TYPE)
  79.                         .setTitleText("Error")
  80.                         .setContentText(getResources().getString(R.string.error_jaringan)).show();
  81.                 call.cancel();
  82.             }
  83.         });
  84.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement