我一直在研究robospice-sample-spicelist
,以便将其中的一部分改编为我正在尝试编码的提要阅读器。如果我SpringAndroidSpiceService
按原样使用它,我会因为没有正确的消息转换器而得到一个例外。我意识到这个例子与 Atom Feed 没有任何关系,所以我用谷歌搜索了一下,发现AtomFeedHttpMessageConverter
. 试图将其添加到HttpMessageConverter
服务使用列表中。
public class SevillaDirectoSpringAndroidSpiceService extends SpringAndroidSpiceService {
@Override
public CacheManager createCacheManager(Application application) {
CacheManager cacheManager = new CacheManager();
JacksonObjectPersisterFactory jacksonObjectPersisterFactory = new JacksonObjectPersisterFactory(application);
cacheManager.addPersister(jacksonObjectPersisterFactory);
return cacheManager;
}
@Override
public RestTemplate createRestTemplate() {
RestTemplate restTemplate = new RestTemplate();
// find more complete examples in RoboSpice Motivation app
// to enable Gzip compression and setting request timeouts.
// web services support json responses
MappingJacksonHttpMessageConverter jsonConverter = new MappingJacksonHttpMessageConverter();
FormHttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter();
AtomFeedHttpMessageConverter atomFeedHttpMessageConverter = new AtomFeedHttpMessageConverter();
final List<HttpMessageConverter<?>> listHttpMessageConverters = restTemplate.getMessageConverters();
listHttpMessageConverters.add(jsonConverter);
listHttpMessageConverters.add(formHttpMessageConverter);
listHttpMessageConverters.add(stringHttpMessageConverter);
listHttpMessageConverters.add(atomFeedHttpMessageConverter);// here I get an error marker on eclipse with the following message
restTemplate.setMessageConverters(listHttpMessageConverters);
return restTemplate;
}
}
但是当我这样做时,我收到以下错误消息:
com.google.code.rome.android.repackaged.com.sun.syndication.feed.atom.Feed 类型无法解析。它是从所需的 .class 文件中间接引用的
我已经尝试了在robospice-sample-ui-spicelist
. 我尝试robospice-sample-google-http-client
使用 Maven 构建,但它似乎没有“libs-for-ant”,我可以在其中找到它所依赖的 jar。
谷歌搜索“robospice”和“feed”或“atom feed”几乎没有帮助。