我正在使用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的值必须是常量表达式?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)