gpt4 book ai didi

java - 如何在接口(interface)中使用 getResources.getString(R.string)?

转载 作者:行者123 更新时间:2023-11-29 22:52:23 25 4
gpt4 key购买 nike

我有一个带有静态 key 的接口(interface)。我想从一个字符串文件中检索这个键,但是如果我只放 R.string.key,它会显示不兼容的类型,因为它检索整数值,如果我放 R.string.key + "",它就变成了一个字符串,但获取String文件id,最好使用getResources.getString(R.string.key),但是没办法在Interface中使用getResources.getString方法。

工作:

public interface NotificacaoService {
@Headers({"34853485734",
"Content-Type:application/json"}) @POST("send")
Call<NotificacaoDados> salvarNotificacao(@Body NotificacaoDados notificacaoDados);
}

我想这样离开:

public interface NotificacaoService {
@Headers({getResources.getString(R.string.key),
"Content-Type:application/json"}) @POST("send")
Call<NotificacaoDados> salvarNotificacao(@Body NotificacaoDados notificacaoDados);
}

最佳答案

对不起,您想要的是不可能的。注解参数需要是常量。

一种解决方案是从字符串资源切换到 BuildConfig。在您的 Gradle 脚本中使用 buildConfigField 来定义您的 key (buildConfigField "String", "API_KEY", "\"34853485734\"")。然后,您可以在您的界面中引用生成的常量(例如,BuildConfig.API_KEY`)。

或者,如果此接口(interface)用于 Retrofit,您可以通过 OkHttp 拦截器添加 header ,而不是通过 @Headers 注释。

关于java - 如何在接口(interface)中使用 getResources.getString(R.string)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57761886/

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