android 框架试用--spring for android

参考资料:
http://www.chenwg.com/android/spring-android%E7%9A%84%E4%BD%BF%E7%94%A8.html
http://static.springsource.org/spring-android/docs/1.0.x/reference/html/rest-template.html


spring-android主要提供了两个重要的功能:


1.Rest模板,很多Android应用都要与服务器进行交互,而现在很多互联网应用的服务器端都会提供Rest服务,数据格式一般是json、xml、rss等,如果使用spring-android,这将大大方便你的Android应用与服务器端的交互,spring-android在解析json,xml都是非常方便的;但是需要使用第三方库。现在spring-android支持3个json第三方库(Jackson JSON Processor, Jackson 2.x, 和Google Gson,Jackson很有名,Gson 很小。) Simple XML serializer 用于提供xml解析。 Android ROME Feed Reader用于提供rss功能。


2.Auth授权验证,现在很多互联网应用都提供了开放的API服务,而你的Android应用要接入到这些服务中去,往往要经过授权才行,现在很多应用都使用Auth授权认证,如twitter、facebook、新浪微博等,如果使用spring-android,在授权验证这块将会非常方便。


另外它也支持发送和接受通过Gzip压缩编码的数据。






关于RestTemplate 
RestTemplate  是spring-android 中最重要的部分,它的方法命名遵循命名规则:第一部分是使用什么样的HTTP方法,第二部分是返回值。
RestTemplate  有四个构造方法,如果要使用的话必须传入ClientHttpRequestFactory ,如果要使用默认的ClientHttpRequestFactory ,可以使用构造方法:
RestTemplate(boolean includeDefaultConverters);并且includeDefaultConverters=true;


关于messageConverts
ByteArrayHttpMessageConverter:可以通过http request 和 response 进行读写,默认情况下,这个Convert支持所有类型(*/*),并且使用application/octet-stream 进行写。通过重写supportedMediaTypes属性和getContentType(byte[])方法可以对其进行重写。
FormHttpMessageConverter:可以从HTTP request和response中读取Form表单数据。默认情况下,这个Convert读写application/x-www-form-urlencode类型。
Form数据从MultiValueMap<String, String>中读取并向MultiValueMap<String, String>中写入。
XmlAwareFormHttpMessageConverter:FormHttpMessageConverter 的扩展,通过SourceHttpMessageConverter添加了对XML-based部分
SourceHttpMessageConverter :一个HttpMessageConverter 的实现,可以读写Resource Resources。默认情况下,这个converter可以读写所欲的media 类型。application/octet-stream 用来确定 写资源的 Content-Type
StringHttpMessageConverter:一个HttpMessageConverter实现,可以从HTTP request和response读写string。默认情况下,这个converter 支持所有的text media types (text/*),并且用text/plain的  Content-Type进行写。
SimpleXmlHttpMessageConverter:一个HttpMessageConverter 实现,通过使用 Simple Framework的序列化可以从HTTP request和response中读写XML。使用的话需要添加第三方包:
<dependency>
    <groupId>org.simpleframework</groupId>
    <artifactId>simple-xml</artifactId>
    <version>${simple-version}</version>
</dependency>
MappingJackson2HttpMessageConverter:一个HttpMessageConverter 实现,可以使用Jackson的ObjextMapper读写JSON。需要添加第三方包:
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>${jackson-version}</version>
</dependency>
GsonHttpMessageConverter:一个HttpMessageConverter 的实现,可以使用Google Gson读写JSON。需要第三方包:
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>${gson-version}</version>
</dependency>
SyndFeedHttpMessageConverter:一个HttpMessageConverter实现,可以通过使用 Android ROME Feed Reader读写RSS和Atom fees,默认情况下,它支持application/rss+xml 和application/atom+xml。需要添加以下第三方包:
<dependency>
    <groupId>com.google.code.android-rome-feed-reader</groupId>
    <artifactId>android-rome-feed-reader</artifactId>
    <version>${android-rome-version}</version>
</dependency>
<dependency>
    <groupId>org.jdom</groupId>
    <artifactId>jdom</artifactId>
    <version>${jdom-fork-version}</version>
</dependency>
Android ROME在Maven Central中是无效的,当使用maven的时候需要在你的pom文件中添加下面的repository
<!-- For developing with Android ROME Feed Reader -->
<repository>
    <id>android-rome-feed-reader-repository</id>
    <name>Android ROME Feed Reader Repository</name>
    <url>https://android-rome-feed-reader.googlecode.com/svn/maven2/releases</url>
</repository>

RssChannelHttpMessageConverter:一个HttpMessageConverter 实现,可以使用 Android ROME Feed Reade从HTTP request和response中读写RSS feeds。
AtomFeedHttpMessageConverter:一个HttpMessageConverter实现,可以使用Android ROME Feed Reader读写HttpMessageConverter。


使用方法:
(1)下载:
http://www.springsource.org/spring-android
获取spring-android-core-***.RELEASE.jar和spring-android-rest-template-***.RELEASE.jar
(2)使用maven依赖:
<dependency>
    <groupId>org.springframework.android</groupId>
    <artifactId>spring-android-rest-template</artifactId>
    <version>${spring-android-version}</version>
</dependency>


sample下载地址:
https://github.com/SpringSource/spring-android-samples

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值