Spring Android 是 Spring 框架的擴展,用於簡化 Android 本地應用程式的開發。
基本介紹
- 中文名:Spring Android
- 目的:簡化Android 本地應用程式的開發
- 套用:Spring 框架的擴展
- 開發語言: Java
授權協定: Apache開發語言: Java
作業系統: Android
Spring的RestTemplate是個健壯的、流行的、基於Java的REST客戶端。Spring for Android RestTemplate Module提供的RestTemplate版本能夠用於Android環境中。
RestTemplate類是Spring for Android RestTemplate庫的核心。從概念上來說,它類似於其他Spring項目中的模板類。RestTemplate的行為是通過提供回調方法並配置HttpMessageConverter(用於將對象編排為HTTP請求體以及將回響反編排為對象)來定製的。在創建新的RestTemplate實例時,構造方法會創建出幾個支持對象來實現RestTemplate的功能。
HTTP客戶端
RestTemplate為RESTful HTTP請求提供了一層抽象,在內部,RestTemplate使用了一個原生的Android HTTP客戶端庫來處理這些請求。Android上有兩個原生HTTP客戶端,一個是標準的J2SE工具,另一個是HttpComponents HttpClient。標準的J2SE工具是通過SimpleClientHttpRequestFactory實現的,HttpClient是通過HttpComponentsClientHttpRequestFactory實現的。在創建新的RestTemplate實例時所使用的默認ClientHttpRequestFactory會根據套用所運行的Android版本的不同而不同。
Google推薦在Gingerbread(Android 2.3)及之後的版本上使用J2SE工具,而之前的版本則應該使用HttpComponents HttpClient。基於該建議,RestTemplate會檢測套用運行的Android版本並使用恰當的ClientHttpRequestFactory。要想使用具體的ClientHttpRequestFactory,你需要向RestTemplate構造方法傳遞一個新實例,或是對已有的RestTemplate實例調用setRequestFactory(ClientHttpRequestFactory requestFactory)方法。
Gzip壓縮RestTemplate支持傳送與接收通過gzip壓縮編碼的數據。HTTP規範考慮到了Accept-Encoding頭中的附加值,但目前的RestTemplate只支持gzip壓縮。
對象到JSON的編排在Spring for Android RestTemplate中,對象到JSON的編排需要使用第三方的JSON映射庫。Spring for Android支持兩個庫,一個是Jackson JSON Processor,另一個是Google Gson。雖然Jackson是個眾所周知的JSON解析庫,但Gson庫卻更小,這樣在打包時Android套用的體積就會更小。
對象到XML的編排在Spring for Android RestTemplate中,對象到XML的編排也需要使用第三方的XML映射庫。Simple XML serializer用於提供該編排功能。
RSS與Atom支持在Spring for Android RestTemplate中,RSS與Atom feed支持也需要使用第三方的feed reader庫。Android ROME Feed Reader用於提供該功能。