This project is a wrapper for Spotify Web API. It uses Retrofit to create Java interfaces from API endpoints.
This project is built using Gradle:
- Clone the repository:
git clone https://github.com/kaaes/spotify-web-api-android.git
- Build:
./gradlew jar
- Grab the jar and put it in your project. It can be found in
build/libs/spotify-web-api-android-0.1.0.jar
This project depends on Retrofit 1.9.0
and OkHttp 2.2.0
. When you build it using
the command above it creates a lean jar that doesn't contain Retrofit and OkHttp files.
To make your app work you'll need to include these dependencies in your app:
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp:2.2.0'
It is also possible to build the project as a fat jar that contains all dependencies. To do this run:
./gradlew jarAll
the jar will be located in build/libs/spotify-web-api-android-all-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);