gpt4 book ai didi

java - 无法使用 kaaes Spotify web api 获取播放列表的轨道

转载 作者:行者123 更新时间:2023-11-29 18:42:30 30 4
gpt4 key购买 nike

我是一个非常菜鸟的用户,我正在尝试在我的 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>>() 时)并显示:

Cannot resolve symbol 'Callback'

如果我按 alt+enter 点击它,它会显示:

Add library 'retrofit-2.4.0.retrofit-2.4.0' to classpath

如果我这样做,那么它会在所有 Callback<Pager<PlaylistTrack>> 下划线,有错误:

然后我再次按 alt+enter 并显示:

Class 'Anonymous Class derived from Callback' must either be declared abstract or implement abstract method 'onResponse(Call, Response) in 'Callback'

然后我再次按 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是开明的红色并说:

Cannot resolve symbol 'items'

我在网上找不到任何关于此的信息。似乎我无法将我找到的旧代码示例与新的 API 方法相匹配。

谢谢

最佳答案

你截取的第一个代码在我的测试项目中没有显示任何错误。我想存在重叠导入或其他库的问题。

如果添加以下导入并删除其他改造/kaaes 导入,请检查它是否有效:

import kaaes.spotify.webapi.android.SpotifyApi;
import kaaes.spotify.webapi.android.SpotifyService;
import kaaes.spotify.webapi.android.models.Pager;
import kaaes.spotify.webapi.android.models.PlaylistTrack;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;

如果这不起作用,请从您的类路径/项目中删除 retrofit 2 库,然后重试,因为此包装器仍使用 retrofit 1.9.0。

关于java - 无法使用 kaaes Spotify web api 获取播放列表的轨道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52802015/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com