Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. import android.app.ProgressDialog;
  2. import android.os.Bundle;
  3.  
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.support.v7.widget.Toolbar;
  6. import android.view.View;
  7. import android.view.Menu;
  8. import android.view.MenuItem;
  9. import android.widget.Button;
  10. import android.widget.Toast;
  11.  
  12. import okhttp3.ResponseBody;
  13. import retrofit2.Call;
  14. import retrofit2.Callback;
  15. import retrofit2.Response;
  16. import retrofit2.Retrofit;
  17. import retrofit2.converter.gson.GsonConverterFactory;
  18.  
  19. public class MainActivity extends AppCompatActivity {
  20.  
  21.     private Retrofit retrofit;
  22.     private ProgressDialog dialog;
  23.  
  24.     @Override
  25.     protected void onCreate(Bundle savedInstanceState) {
  26.         super.onCreate(savedInstanceState);
  27.         setContentView(R.layout.activity_main);
  28.         Button btGetAsModel = (Button) findViewById(R.id.bt_getasmodel);
  29.         Button btGetAsJSON = (Button) findViewById(R.id.bt_getasjson);
  30.  
  31.         dialog = new ProgressDialog(this);
  32.  
  33.         dialog.setIndeterminate(true);
  34.         initializeRetrofit();
  35.         btGetAsModel.setOnClickListener(new View.OnClickListener() {
  36.             @Override
  37.             public void onClick(View view) {
  38.                 dialog.show();
  39.                 getDataAsModel();
  40.             }
  41.         });
  42.  
  43.         btGetAsJSON.setOnClickListener(new View.OnClickListener() {
  44.             @Override
  45.             public void onClick(View view) {
  46.                 dialog.show();
  47.                 getDataAsJSON();
  48.             }
  49.         });
  50.  
  51.     }
  52.  
  53.     private void initializeRetrofit(){
  54.         retrofit = new Retrofit.Builder()
  55.                 .baseUrl("https://randomuser.me/")
  56.                 .addConverterFactory(GsonConverterFactory.create())
  57.                 .build();
  58.     }
  59.  
  60.     private void getDataAsModel(){
  61.         RetrofitAPIEndpointInterface apiService = retrofit.create(RetrofitAPIEndpointInterface.class);
  62.         Call<Result> result = apiService.getResultInfo();
  63.         result.enqueue(new Callback<Result>() {
  64.             @Override
  65.             public void onResponse(Call<Result> call, Response<Result> response) {
  66.                 dialog.dismiss();
  67.                 try {
  68.                     Toast.makeText(MainActivity.this," response version "+response.body().getInfo().
  69.                             getVersion()+"\n response seed " + response.body().getInfo().getSeed(),Toast.LENGTH_SHORT).show();
  70.  
  71.                     System.out.println("response output version " + response.body().getInfo().getVersion());
  72.  
  73.                     System.out.println("response output seed " + response.body().getInfo().getSeed());
  74.                 }catch (Exception e){
  75.                     e.printStackTrace();
  76.                 }
  77.             }
  78.  
  79.             @Override
  80.             public void onFailure(Call<Result> call, Throwable t) {
  81.                 dialog.dismiss();
  82.                 t.printStackTrace();
  83.             }
  84.         });
  85.     }
  86.  
  87.     private void getDataAsJSON(){
  88.         RetrofitAPIEndpointInterface apiService = retrofit.create(RetrofitAPIEndpointInterface.class);
  89.         Call<ResponseBody> result = apiService.getResultAsJSON();
  90.         result.enqueue(new Callback<ResponseBody>() {
  91.             @Override
  92.             public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
  93.                 dialog.dismiss();
  94.                 try {
  95.                     Toast.makeText(MainActivity.this," response version "+response.body().string(),Toast.LENGTH_SHORT).show();
  96.                 }catch (Exception e){
  97.                     e.printStackTrace();
  98.                 }
  99.             }
  100.  
  101.             @Override
  102.             public void onFailure(Call<ResponseBody> call, Throwable t) {
  103.                 dialog.dismiss();
  104.                 t.printStackTrace();
  105.             }
  106.         });
  107.     }
  108.  
  109. }