You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用Last F.M获取专辑封面时依赖库无法正常工作

问题分析与解决

核心问题原因

你引入的de.u-mass:lastfm-java:0.1.2依赖无法正常解析,报错找不到0.1.1版本,主要有两个关键原因:

  1. 旧版本的lastfm-java托管在已停止服务的JCenter仓库,当前默认Gradle配置(仅Maven Central/Google仓库)无法拉取到该旧版本的依赖链。
  2. 你代码中的API key字符串带有换行符,会导致Last.fm接口鉴权失败。

解决方案

1. 更换为最新版lastfm-java依赖

放弃老旧版本,使用发布在Maven Central的最新稳定版,同时确保项目配置了正确的仓库:

  • 在项目根目录的settings.gradle中添加Maven Central仓库(如果未添加):
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral() // 必须添加这一行
    }
}
  • 在App模块的build.gradle中替换依赖为最新版本:
implementation 'de.u-mass:lastfm-java:2.0.0'

2. 修复API key的换行问题

代码里API key字符串末尾的换行符会导致接口请求失败,需直接写成完整字符串:

Track track = Track.getInfo(artist, title, "8a31c329f76d81616598db6780537edf");

3. 优化艺术家与标题的分割逻辑

当前用split("-")分割,如果标题本身包含-,会导致数组越界,建议修改为仅分割第一个-:

String[] parts = metaTitle.getText().toString().split("-", 2);

4. 处理网络请求线程问题

直接在MainActivity主线程调用Track.getInfo会触发NetworkOnMainThreadException,需将网络请求放在子线程执行,比如用Kotlin协程、Java AsyncTask或线程池处理。

内容的提问来源于stack exchange,提问作者Laurent P.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:12:19