【问题标题】:How to do a search on Deezer using its Android SDK?如何使用其 Android SDK 在 Deezer 上进行搜索?
【发布时间】:2013-11-07 15:35:37
【问题描述】:

我正在尝试使用 Deezer 的 Android SDK 进行搜索。但是,搜索结果始终为空。这是我的做法:

private final static String[] PERMISSIONS = new String[]{};
private DeezerConnect deezerConnect = new DeezerConnectImpl(DEEZER_APP_ID);
RequestListener handler = new CustomDeezerRequestHandler();

// User login
deezerConnect.authorize(MainActivity.this, PERMISSIONS, new MyDialogHandler());

// When the login is completed:
// Search request
DeezerRequest request = new DeezerRequest("/search/artist?q=radiohead");
deezerConnect.requestAsync(request, handler);

API 结果:

{"data":[],"total":0}

【问题讨论】:

    标签: android deezer


    【解决方案1】:

    DeezerRequest 对象在给定的 API 路径上执行多个操作(在您的情况下为“/search/artist?q=radiohead”)。在这些操作中,查询参数被重置以符合 Deezer JSON API。

    要在此类请求中添加您自己的参数,在 DeezerRequest 对象的不同构造函数中提供了一种机制。引用 SDK 文档:

    public DeezerRequest(String deezerServicePath,Bundle params)

    使用 GET 方法的 DeezerRequest 构造函数。

    参数:

    • deezerServicePath - 服务路径。匹配 url 请求减去协议和服务器主机名部分。
    • 参数 - 传递给服务请求的参数。将添加参数 通过 get 或 post 自动获取。

    所以在你的情况下,你应该使用以下方法来创建你的请求:

        // Search request
        Bundle bundle = new Bundle();
        bundle.putString("q", "radiohead");
        DeezerRequest request = new DeezerRequest("/search/artist", bundle);
        mDeezerConnect.requestAsync(request, this);
    

    【讨论】:

    • 完美!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 2014-08-14
    相关资源
    最近更新 更多