This project is a wrapper for Spotify Web API. It uses Retrofit to create Java interfaces from API endpoints.
- Clone the repository:
git clone https://github.com/kaaes/spotify-web-api-android.git
- Build:
./gradlew build
- Grab the jar and put it in your project. It can be found in
build/libs/spotify-web-api-android-0.1.0.jar
Out of the box it uses OkHttp HTTP client and a single thread executor.
SpotifyApi api = new SpotifyApi();
// Most (but not all) of the Spotify Web API endpoints require authorisation.
// If you know you'll only use the ones that don't require authorisation you can skip this step
api.setAccessToken("myAccessToken");
SpotifyService spotify = api.getService();
spotify.getAlbum("2dIGnmEIy1WZIcZCFSj6i8", new Callback<Album>() {
@Override
public void success(Album album, Response response) {
Log.d("Album success", album.name);
}
@Override
public void failure(RetrofitError error) {
Log.d("Album failure", error.toString());
}
});
It is also possible to construct the adapter with custom parameters.
final String accessToken = "myAccessToken";
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(SpotifyApi.SPOTIFY_WEB_API_ENDPOINT)
.setRequestInterceptor(new RequestInterceptor() {
@Override
public void intercept(RequestFacade request) {
request.addHeader("Authorization", "Bearer " + accessToken);
}
})
.build();
SpotifyService spotify = restAdapter.create(SpotifyService.class);