Google I/O 2014 アプリのソースコードが公開されました
2014年7月31日木曜日
Google I/O アプリの 2014 年版のソースコードが公開されました。I/O が開催される数週間前に Google Play にリリースされて以来、何十万人ものユーザーにダウンロードされています。このアプリは I/O 参加者にとって役立つのはもちろん、Android アプリ開発のベスト プラクティスを示す実用的な例として参照していただくことも意図して設計されています。
I/O アプリでは多くの Android アプリで利用する様々な機能も利用しています。Fragment、Loader、Service、BroadcastReceiver、アラーム、通知機能、SQLite データベース、ContentProvider、ActionBar、NavigationDrawer などです。また、Google Drive API や Google Cloud Messaging といった、各種 Google 製品やサービスを統合する方法もご覧いただけます。マテリアル デザインや Android L Preview の API、Android Wear のウェアラブル アプリからセッションのフィードバックを送信する機能なども実装されています。
皆さんがソース コードを簡単に再利用・カスタマイズして他のカンファレンス向けに活用していただけるように、カンファレンスのデータ同期処理は特定のバックエンドに依存しないようになっています。特別なサーバー側の API は必要ありません。今回の I/O アプリは JSON ファイルからカンファレンスのデータ (セッション、スピーカー、部屋など) を読み込むようになっています。ファイルはどんなウェブ サーバーでも開発者の皆さんがやりやすい形でホストしていただけます。フォーマットに関してはこちらにドキュメントがあります。
ユーザー データ (ユーザーが追加したセッションのスケジュール) の保存・同期はこのアプリの肝となる部分です。ソースコードをご覧いただくと、ユーザー データがそれぞれのユーザー自身の Google Drive のアプリケーション データ フォルダーに保存され、複数の端末で同期を取るようになっていることがお分かりいただけるかと思います。また、Google Cloud Messaging を適切なタイミングで利用することで各端末のデータを常に最新に保つ方法などもご参照ください。
App Engine 上で実装された GCM サーバーのコードも再利用可能な形で含まれています。データ同期を開始するメッセージを端末に送信するだけでなく、他のバックエンドからカンファレンスのデータを読み込んで、アプリから取得する JSON ファイルを生成するためのモジュール (Updater) もご覧いただけます。
このソース コードを開発者コミュニティーと共有できることを大変嬉しく思っています。学習ツールとして、再利用可能なコード スニペットとして、また、Android 開発一般についての実例として、存分に活用されることを願っています。これから数週間にわたって IOSched のソース コードに関する詳細な技術情報を投稿していきます。アプリの開発プロセスについてもご紹介する予定です。今後もアプリの更新を続けていきます。いつも通り、開発者の皆様からのプル リクエストも歓迎です。