Advertisement
Syawaldipa

FilmDataApi

Oct 14th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. package com.example.submission3aplikasimoviecatalogueapiardi.Film;
  2.  
  3. import android.util.Log;
  4.  
  5. import androidx.lifecycle.LiveData;
  6. import androidx.lifecycle.MutableLiveData;
  7. import androidx.lifecycle.ViewModel;
  8.  
  9. import com.loopj.android.http.AsyncHttpClient;
  10. import com.loopj.android.http.AsyncHttpResponseHandler;
  11.  
  12. import org.json.JSONArray;
  13. import org.json.JSONException;
  14. import org.json.JSONObject;
  15.  
  16. import java.util.ArrayList;
  17. import java.util.Objects;
  18.  
  19. import cz.msebera.android.httpclient.Header;
  20.  
  21. public class FilmDataAPI extends ViewModel {
  22. private static final String API_KEY = "6d0a6d49a08b459f83f38b41ee4a3ad2";
  23. private MutableLiveData<ArrayList<Film>> listFilm = new MutableLiveData<>();
  24.  
  25. public void setFilmData(String extra_film) {
  26. AsyncHttpClient client = new AsyncHttpClient();
  27. final ArrayList<Film> listApi = new ArrayList<>();
  28.  
  29. String url = "https://api.themoviedb.org/3/discover/movie?api_key=" + API_KEY + "&language=en-US";
  30. client.get( url, new AsyncHttpResponseHandler() {
  31. @Override
  32. public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
  33. try {
  34. String result = new String( responseBody );
  35. JSONObject responseObject = new JSONObject( result );
  36. JSONArray list = responseObject.getJSONArray( "results" );
  37. for (int i = 0; i < list.length(); i++) {
  38. JSONObject film = list.getJSONObject( i );
  39. Film filmdata = new Film( film );
  40. listApi.add( filmdata );
  41. }
  42.  
  43.  
  44. listFilm.postValue( listApi );
  45.  
  46. } catch (JSONException e) {
  47. e.printStackTrace();
  48. Log.d( "Exception", Objects.requireNonNull( e.getMessage() ) );
  49. }
  50. }
  51.  
  52. @Override
  53. public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
  54. Log.d( "onFailure", Objects.requireNonNull( error.getMessage() ) );
  55. }
  56. } );
  57. }
  58.  
  59. LiveData<ArrayList<Film>> getFilmData() {
  60. return listFilm;
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement