SpringSource が Spring for Android 1.0をリリースした。これは、ネイティブなAndroidアプリケーションの開発を簡単にするのを助ける、 Spring Frameworkのエクステンションである。このリリースのフィーチャとして、RESTクライアント(RestTemplate) とOAuth(Spring Social)のサポートがある。
Spring for Android 1.0 の一番目のフィーチャは、RESTクライアントである。 Spring RestTemplate抽象を使って、ネイティブなAndroidアプリケーション内で RESTfulサービスを利用することができるようになる。Googleの推奨によると RestTemplateは、Android 2.3+向けにJ2SE HTTP クライアントライブラリ、そしてAndroid 2.2 以下には, HttpClient を使っている。異なるHTTP Message Converterをサポートし、 JSONマーシャリングにはJackson あるいは Gson 、RSS/Atom マーシャリングには Android ROMEを使っている。 RestTemplateはまた、gzip圧縮もサポートしている。以下に Spring for Androidリファレンスマニュアルからの RestTemplateの基本的な例を示す。この例は、"SpringSource"という検索語をGoogleでクエリするものである。
String url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q={query}"; RestTemplate restTemplate = new RestTemplate(); restTemplate.getMessageConverters().add(new StringHttpMessageConverter()); String result = restTemplate.getForObject(url, String.class, "SpringSource");
Spring for Android 1.0の他の主要なフィーチャは、Spring Social のサポートである。Androidアプリケーションで Spring Socialを使う機能を手に入れたことになる。これには、 OAuthクライアントや Twitter やFacebookのような人気ソーシャルwebサイトの実装が含まれる。このリリースで提供されるのは、OAuth 1.x と 2.0のサポート、 SQLiteリポジトリと Android 互換 Spring Security暗号化が含まれる
Spring Frameworkに馴染んでいる開発者は、当然依存性注入が Spring for Androidの一部になることを期待するだろう。しかし、 Intentを使ってアプリケーションのライフサイクルを動かすAndroidのやり方のために、実装できる依存性注入には限界がある。Androidにおける依存性注入のオプションに関して、もっと知りたければ、Clean Code in Android Applications を読んで欲しい。
更に詳しくは、Spring for Android Reference Manualを読んで欲しい。 Spring for Androidの例はGitHubから入手できる。始めるには、リリースディストリビューションをダウンロードするか、Maven 依存関係を追加する。
<dependency> <groupId>org.springframework.android</groupId> <artifactId>spring-android-rest-template</artifactId> <version>1.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.android</groupId> <artifactId>spring-android-auth</artifactId> <version>${spring-android-version}</version> </dependency>
Androidアプリケーション内でMavenの依存性管理機能を使うには、Maven Dependency Management を読まなければならない。