TheMovieDB API
This library provides a java-wrapper around the JSON API provided by TMdB, which is an open database for movie and film content.
Setup
Just add it as dependency to your project. It's available via jcenter
<dependency>
<groupId>info.movito</groupId>
<artifactId>themoviedbapi</artifactId>
<version>1.8</version>
</dependency>
Read the Set me up section first, if you haven't addded jcenter as a repository to your pom.xml yet.
Or just add it via gradle when developing for Android:
repositories {
jcenter()
}
dependencies{
compile group: 'info.movito', name: 'themoviedbapi', version:'1.8'
}
Usage
To get started you need a TMdB API key. With this you can instantiate
info.movito.themoviedbapi.TmdbApi
, which has getters for all subcategories of the API.
For instance to get a movie by ID, do the following:
TmdbMovies movies = new TmdbApi("<apikey>").getMovies();
MovieDb movie = movies.getMovie(5353, "en");
The wrapper implements all major parts of the JSON API as detailed out in the TMdB API documentation. However, as the latter is subject to constant change, feel welcome to point out missing bits by submitting a ticket. Or even better, just send us a pull request!
getSomething()
returns null?
Most common question: Why does Every API element has a number of query flags that need to be set in order to pull a particular piece of information.
getCast()
to return cast and not null
Example 1: Make TmdbMovies movies = tmdbApi.getMovies();
movies.getMovie(293660, "en", MovieMethod.credits)
Example 2: Get image urls, videos and similar movies
TmdbMovies movies = tmdbApi.getMovies();
movies.getMovie(78, "en", MovieMethod.credits, MovieMethod.images, MovieMethod.similar)
Example 3: Get all info about a sesaon
Instead of individual item we can also simply provide all method values.
TmdbTvSeasons tvSeasons = tmdb.getTvSeasons();
TvSeason result = tvSeasons.getSeason(seriesId, seasonNumber, "en", SeasonMethod.values());
See the corresponding *Method
enums or the REST API-documentation for possible values.
This concept is part of the underlying REST API, our wrapper justs mimicks the scheme.
Project Logging
This project uses SLF4J to abstract the logging in the project. To use the logging in your own project you should add one of the provided adapter bindings.
Notes & Acknowledgements
The library was developed for Movito to interact with tmdb services. This library has been inspired by api-themoviedb but has been rewritten to provide a more open license, a more clean API and to expose more features of the TMDB json api.