java– 为什么注释属性Rest.rootUrl的值必须是常量表达式?

java– 为什么注释属性Rest.rootUrl的值必须是常量表达式?,第1张

概述我正在使用AndroidAnnotationsFramework,专门用于RestIntegration.我有以下代码.主机配置的接口publicinterfaceHost{publicStringURL="http://192.168.2.137";}以及用于休息通信的带注释的接口.@Rest(rootUrl=Host.URL,converters={MappingJacksonH

我正在使用Android Annotations Framework,专门用于Rest Integration.
我有以下代码.

主机配置的接口

public interface Host {    public String URL = "http://192.168.2.137";}

以及用于休息通信的带注释的接口.

@Rest(rootUrl = Host.URL, converters = { MapPingJacksonhttpMessageConverter.class })public interface RestClIEnt {    @Get("/entitIEs.Json")    Entity[] allEntitIEs();}

我的问题是,为什么注释属性Rest.rootUrl的值必须是常量表达式?以及如何为Rest.rootUrl使用String资源?

我想做点什么

@EBeanpublic class Host{    @StringRes    String URL;}

但是使用RestClIEnt接口是不可能的.

我们的想法是处理本地化的休息应用程序,假设语言不同的URL

http://en.myapp.comhttp://es.myapp.com

我知道Java接口必须具有最终属性,但是,有一种方法可以处理本地化的rootUrl值吗?

谢谢.

解决方法:

Jon对注释值是正确的,但AndroID Annotations实际上确实为您提供了一种动态设置RestClIEnt的根URL的方法.

只需从注释中省略rootUrl属性并向接口添加方法:

voID setRootUrl(String rootUrl);

请记住,在实际使用RestClIEnt之前,您需要在应用中的某个位置调用RestClIEnt.setRootUrl(url).

更多信息,请点击https://github.com/excilys/androidannotations/wiki/Rest%20API#rest

总结

以上是内存溢出为你收集整理的java – 为什么注释属性Rest.rootUrl的值必须是常量表达式?全部内容,希望文章能够帮你解决java – 为什么注释属性Rest.rootUrl的值必须是常量表达式?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存