Android Open Source - spotify-web-api-android Example Activity






From Project

Back to project page spotify-web-api-android.

License

The source code is released under:

Apache License

If you think the Android project spotify-web-api-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2014 Siegenthaler Solutions.
 */*  ww w.java  2 s .  com*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package me.siegenthaler.spotify.webapi.android.example;

import android.app.SearchManager;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.SearchView;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import com.android.volley.Response;
import com.android.volley.error.VolleyError;
import com.android.volley.toolbox.Volley;

import java.util.List;

import me.siegenthaler.spotify.webapi.android.ClientRestAPI;
import me.siegenthaler.spotify.webapi.android.model.Album;
import me.siegenthaler.spotify.webapi.android.model.Page;
import me.siegenthaler.spotify.webapi.android.model.Track;

/**
 *
 */
public class ExampleActivity extends ActionBarActivity {
    private ClientRestAPI mClient;

    /**
     * {@inheritDoc}
     */
    @Override
    public void onCreate(Bundle instance) {
        super.onCreate(instance);
        setContentView(R.layout.activity_main);

        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        mClient = new ClientRestAPI(Volley.newRequestQueue(getApplicationContext()));

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.d("XXX", "Click");
                mClient.getAlbum("2dIGnmEIy1WZIcZCFSj6i8").setListener(new Response.Listener<Album>() {
                    @Override
                    public void onResponse(Album o) {
                        Log.d("XXX", o.getName());
                    }
                }).setErrorListener(new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError volleyError) {
                        Log.d("XXX", "ERROR:" + volleyError.getMessage());
                    }
                }).build();
            }
        });
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.home_menu, menu);

        final MenuItem item
                = menu.findItem(R.id.search);
        final SearchView view
                = (SearchView) item.getActionView();
        final SearchManager manager
                = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        view.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String s) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String s) {
                onTextChange(s);
                return true;
            }
        });
        view.setSearchableInfo(manager.getSearchableInfo(getComponentName()));
        return true;
    }

    /**
     * (non-doc)
     */
    private void onTextChange(String query) {
        mClient.getRequestQueue().cancelAll("SEARCH");
        mClient.searchTrack(query).setListener(new Response.Listener<Page<Track>>() {
            @Override
            public void onResponse(Page<Track> tracks) {
                final List<Track> items = tracks.getItems();
                for (Track item : items) {
                    Log.d("Track", item.getArtist(0).getName() + " - " + item.getName());
                }
            }
        }).setErrorListener(new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                volleyError.printStackTrace();
            }
        }).setLimit(25).setTag("SEARCH").build();
    }
}




Java Source Code List

me.siegenthaler.spotify.webapi.android.ClientRestAPI.java
me.siegenthaler.spotify.webapi.android.example.ExampleActivity.java
me.siegenthaler.spotify.webapi.android.model.Album.java
me.siegenthaler.spotify.webapi.android.model.Artist.java
me.siegenthaler.spotify.webapi.android.model.Followers.java
me.siegenthaler.spotify.webapi.android.model.Image.java
me.siegenthaler.spotify.webapi.android.model.Page.java
me.siegenthaler.spotify.webapi.android.model.Playlist.java
me.siegenthaler.spotify.webapi.android.model.SimpleAlbum.java
me.siegenthaler.spotify.webapi.android.model.SimpleArtist.java
me.siegenthaler.spotify.webapi.android.model.SimplePlaylistBase.java
me.siegenthaler.spotify.webapi.android.model.SimplePlaylist.java
me.siegenthaler.spotify.webapi.android.model.SimpleTrack.java
me.siegenthaler.spotify.webapi.android.model.SimpleUser.java
me.siegenthaler.spotify.webapi.android.model.Snapshot.java
me.siegenthaler.spotify.webapi.android.model.Token.java
me.siegenthaler.spotify.webapi.android.model.Track.java
me.siegenthaler.spotify.webapi.android.model.User.java
me.siegenthaler.spotify.webapi.android.request.AbstractPageRequest.java
me.siegenthaler.spotify.webapi.android.request.AbstractRequest.java
me.siegenthaler.spotify.webapi.android.request.AlbumListRequest.java
me.siegenthaler.spotify.webapi.android.request.AlbumRequest.java
me.siegenthaler.spotify.webapi.android.request.AlbumTracksRequest.java
me.siegenthaler.spotify.webapi.android.request.ArtistAlbumsRequest.java
me.siegenthaler.spotify.webapi.android.request.ArtistListRequest.java
me.siegenthaler.spotify.webapi.android.request.ArtistRelatedRequest.java
me.siegenthaler.spotify.webapi.android.request.ArtistRequest.java
me.siegenthaler.spotify.webapi.android.request.ArtistTopTrackRequest.java
me.siegenthaler.spotify.webapi.android.request.AuthoriseClientFlowRequest.java
me.siegenthaler.spotify.webapi.android.request.AuthoriseRefreshRequest.java
me.siegenthaler.spotify.webapi.android.request.PlaylistAddTracksRequest.java
me.siegenthaler.spotify.webapi.android.request.PlaylistChangeDetailsRequest.java
me.siegenthaler.spotify.webapi.android.request.PlaylistCreateRequest.java
me.siegenthaler.spotify.webapi.android.request.PlaylistListRequest.java
me.siegenthaler.spotify.webapi.android.request.PlaylistReplaceTracksRequest.java
me.siegenthaler.spotify.webapi.android.request.PlaylistRequest.java
me.siegenthaler.spotify.webapi.android.request.PlaylistTrackRequest.java
me.siegenthaler.spotify.webapi.android.request.SearchAlbumRequest.java
me.siegenthaler.spotify.webapi.android.request.SearchArtistRequest.java
me.siegenthaler.spotify.webapi.android.request.SearchPlaylistRequest.java
me.siegenthaler.spotify.webapi.android.request.SearchRequest.java
me.siegenthaler.spotify.webapi.android.request.SearchTrackRequest.java
me.siegenthaler.spotify.webapi.android.request.TrackListRequest.java
me.siegenthaler.spotify.webapi.android.request.TrackRequest.java
me.siegenthaler.spotify.webapi.android.request.browse.BrowseAlbumRequest.java
me.siegenthaler.spotify.webapi.android.request.browse.BrowsePlaylistRequest.java
me.siegenthaler.spotify.webapi.android.request.follow.FollowAddRequest.java
me.siegenthaler.spotify.webapi.android.request.follow.FollowCheckRequest.java
me.siegenthaler.spotify.webapi.android.request.follow.FollowRemoveRequest.java
me.siegenthaler.spotify.webapi.android.request.music.MusicAddRequest.java
me.siegenthaler.spotify.webapi.android.request.music.MusicRemoveRequest.java
me.siegenthaler.spotify.webapi.android.request.music.MusicTrackCheckRequest.java
me.siegenthaler.spotify.webapi.android.request.music.MusicTrackRequest.java
me.siegenthaler.spotify.webapi.android.request.profile.UserElseRequest.java
me.siegenthaler.spotify.webapi.android.request.profile.UserRequest.java