Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. package co.id.roni.film_submission;
  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.JSONObject;
  14.  
  15. import java.util.ArrayList;
  16.  
  17. import cz.msebera.android.httpclient.Header;
  18.  
  19. public class MovieDetailViewModel extends ViewModel {
  20. private static final String API_KEY = "925c18bd71917db0242931c2fce8c338";
  21. private MutableLiveData<ArrayList<MovieDetailModel>> listMovieDetails = new MutableLiveData<>();
  22.  
  23. void setLDetailMovies( final int id, String language ){
  24. AsyncHttpClient client = new AsyncHttpClient();
  25. final ArrayList<MovieDetailModel> listdetails = new ArrayList<>();
  26. String url = "https://api.themoviedb.org/3/movie/"+id+"?api_key="+API_KEY+"&language="+language;
  27. client.get(url, new AsyncHttpResponseHandler() {
  28. @Override
  29. public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
  30. try{
  31. String result = new String(responseBody);
  32. JSONObject responseObject = new JSONObject(result);
  33. JSONArray list = responseObject.getJSONArray("results");
  34. for (int i = 0; i< list.length(); i++){
  35. JSONObject movie = list.getJSONObject(i);
  36. MovieDetailModel movieDetailViewModel = new MovieDetailModel(movie);
  37. listdetails.add(movieDetailViewModel);
  38. }
  39. listMovieDetails.postValue(listdetails);
  40.  
  41. } catch (Exception e){
  42. Log.d("Exception", e.getMessage());
  43. }
  44. }
  45.  
  46. @Override
  47. public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
  48. Log.e("onFailure", error.getMessage());
  49. }
  50. });
  51. }
  52.  
  53. LiveData<ArrayList<MovieDetailModel>> getListMoviesDetail() {
  54. return listMovieDetails;
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement