【发布时间】:2019-03-19 00:18:04
【问题描述】:
我是一个非常菜鸟用户,我正在尝试在我的 Android 应用中播放一些来自 Spotify 的曲目。目前我正在使用 kaaes API: https://github.com/kaaes/spotify-web-api-android
我正在努力从一个非常具体的播放列表和一个非常具体的用户 ID 中检索曲目。看来我做不到,我发现的唯一例子是旧的,对我没有帮助。这是我尝试过的:
Accessing list of playlists from Pager object
SpotifyApi api = new SpotifyApi();
SpotifyService spotify = api.getService();
spotify.getPlaylistTracks("USERID","PLAYLISTID", new Callback<Pager<PlaylistTrack>>() {
@Override
public void success(Pager<PlaylistTrack> playlistTrackPager, Response response) {
Log.e("TEST", "GOT the tracks in playlist");
List<PlaylistTrack> items = playlistTrackPager.items;
for( PlaylistTrack pt : items){
Log.e("TEST", pt.track.name + " - " + pt.track.id);
}
}
@Override
public void failure(RetrofitError error) {
Log.e("TEST", "Could not get playlist tracks");
}
});
它点亮红色回调(当我打电话给new Callback<Pager<PlaylistTrack>>()时)它说:
无法解析符号“回调”
如果我 alt+enter 点击它,它会说:
将库“retrofit-2.4.0.retrofit-2.4.0”添加到类路径
如果我这样做,那么它会在所有Callback<Pager<PlaylistTrack>> 下划线,并带有错误:
然后我 alt+enter 再次显示:
类“从回调派生的匿名类”必须声明为抽象或实现抽象方法“onResponse(Call, Response)” '回调'
然后我 alt+enter 再次单击并选择:Implements methods onResponse() and onFailure()
我用新方法调整了旧代码,所以它将是:
spotify.getPlaylistTracks("USERID","PLAYLISTID", new Callback<Pager<PlaylistTrack>>() {
@Override
public void onResponse(Call<Pager<PlaylistTrack>> playlistTrackPager, Response<Pager<PlaylistTrack>> response) {
Log.e("TEST", "GOT the tracks in playlist");
List<PlaylistTrack> items = playlistTrackPager.items;
for( PlaylistTrack pt : items){
Log.e("TEST", pt.track.name + " - " + pt.track.id);
}
}
@Override
public void onFailure(Call<Pager<PlaylistTrack>> call, Throwable t) {
Log.e("TEST", "Could not get playlist tracks");
}
});
但是现在,.items 被点亮为红色并说:
无法解析符号“项目”
我在网上找不到任何关于此的内容。我似乎无法将找到的旧代码示例与新的 API 方法相匹配。
谢谢
【问题讨论】: