MoviesResponse.java
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class MoviesResponse {
@SerializedName("page")
private int page;
@SerializedName("results")
private List<Movie> results;
@SerializedName("total_results")
private int totalResults;
@SerializedName("total_pages")
private int totalPages;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public List<Movie> getResults() {
return results;
}
public void setResults(List<Movie> results) {
this.results = results;
}
public int getTotalResults() {
return totalResults;
}
public void setTotalResults(int totalResults) {
this.totalResults = totalResults;
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
}
ApiClient.java
public class ApiClient {
public static final String BASE_URL = "http://api.themoviedb.org/3/";
private static Retrofit retrofit = null;
public static Retrofit getClient() {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
ApiInterface.java
public interface ApiInterface {
@GET("movie/top_rated")
Call<MoviesResponse> getTopRatedMovies(@Query("api_key") String apiKey);
@GET("movie/{id}")
Call<MoviesResponse> getMovieDetails(@Path("id") int id, @Query("api_key") String apiKey);
}
Calling api in activity
ApiInterface apiService =
ApiClient.getClient().create(ApiInterface.class);
Call<MoviesResponse> call = apiService.getTopRatedMovies(API_KEY);
call.enqueue(new Callback<MoviesResponse>() {
@Override
public void onResponse(Call<MoviesResponse>call, Response<MoviesResponse> response) {
List<Movie> movies = response.body().getResults();
Log.d(TAG, "Number of movies received: " + movies.size());
}
@Override
public void onFailure(Call<MoviesResponse>call, Throwable t) {
// Log error here since request failed
Log.e(TAG, t.toString());
}
});
import com.google.gson.annotations.SerializedName;
import java.util.List;
public class MoviesResponse {
@SerializedName("page")
private int page;
@SerializedName("results")
private List<Movie> results;
@SerializedName("total_results")
private int totalResults;
@SerializedName("total_pages")
private int totalPages;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public List<Movie> getResults() {
return results;
}
public void setResults(List<Movie> results) {
this.results = results;
}
public int getTotalResults() {
return totalResults;
}
public void setTotalResults(int totalResults) {
this.totalResults = totalResults;
}
public int getTotalPages() {
return totalPages;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
}
ApiClient.java
public class ApiClient {
public static final String BASE_URL = "http://api.themoviedb.org/3/";
private static Retrofit retrofit = null;
public static Retrofit getClient() {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
ApiInterface.java
public interface ApiInterface {
@GET("movie/top_rated")
Call<MoviesResponse> getTopRatedMovies(@Query("api_key") String apiKey);
@GET("movie/{id}")
Call<MoviesResponse> getMovieDetails(@Path("id") int id, @Query("api_key") String apiKey);
}
Calling api in activity
ApiInterface apiService =
ApiClient.getClient().create(ApiInterface.class);
Call<MoviesResponse> call = apiService.getTopRatedMovies(API_KEY);
call.enqueue(new Callback<MoviesResponse>() {
@Override
public void onResponse(Call<MoviesResponse>call, Response<MoviesResponse> response) {
List<Movie> movies = response.body().getResults();
Log.d(TAG, "Number of movies received: " + movies.size());
}
@Override
public void onFailure(Call<MoviesResponse>call, Throwable t) {
// Log error here since request failed
Log.e(TAG, t.toString());
}
});
No comments:
Post a Comment