目次
- 1この講座について
- 2イントロダクション
- 3前提知識
- 4この講座で学べること
- 5概要
- 6アプリの概観
- 7タスク:”販売用”の画像を概要ページに追加する
- 7.1ステップ1:MarsPropertyにタイプを含ませるようにアップデートする
- 7.2ステップ2:グリッドアイテムレイアウトをアップデートする
- 8タスク:結果をフィルタリングする
- 8.1ステップ1:Mars APIサービスをアップデートする
- 8.2ステップ2:OverviewViewModelをアップデートする
- 8.3ステップ3:オプションメニューにフラグメントを接続させる
- 9タスク:詳細ページを作成し、ナビゲーションをセットアップする
- 9.1ステップ1:詳細ビューモデルを作成し、詳細レイアウトをアップデートする
- 9.2ステップ2:OverviewViewModelにナビゲーションを定義する
- 9.3ステップ3:GridAdapterとフラグメントにクリックリスナーをセットアップする
- 9.4ステップ4:ナビゲーショングラフを修正し、MarsPropertyをParcelableにする
- 9.5ステップ5:フラグメントをつなげる
- 10タスク:詳細ページを改良する
- 11完成済みプロジェクト
- 12まとめ
- 12.1バインディング式
- 12.2ウェブサービスクエリオプション
この講座について
この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。
またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら。
イントロダクション
このレッスンの以前の記事では、火星の不動産に関するデータをウェブサービスから取得する方法と、そのデータからの画像を読み込み、表示するためのグリッドレイアウトをRecyclerViewで作成する方法を学習しました。この記事では、その物件が借りれるか、または購入できるかによってフィルターをかけれるようにしてMarsRealEstateアプリを完成とします。またユーザーが概要の物件写真をタップしたときに、その物件に関する詳細情報が見られるように、詳細ビューも作成します。
前提知識
- フラグメントの作り方、および使い方
- フラグメント間の遷移のさせ方、およびSafe Args(Gradleプラグイン)を使ってフラグメント間でデータをやり取りする方法
- ViewModel、ViewModelProvider.Factory、LiveData、LiveData transformationを含むアーキテクチャコンポーネントの使い方
- JSONでエンコードされたデータをRESTウェブサービスから取得する方法、およびそのデータをRetrofitとMoshiライブラリを使ってKotlinオブジェクトにパースする方法
この講座で学べること
- レイアウトファイルで複雑なバインディング式を使う方法
- クエリオプションを用いてウェブサービスへのRetrofitリクエストを作成する方法
概要
- MarsRealEstateアプリを修正して、販売用の火星物件に(賃貸用に対して)ドルアイコンを付けるようにする
- 概要ページのオプションメニューを使って、火星物件をタイプによってフィルタリングするウェブサービスリクエストを作成する
- 火星物件用の詳細フラグメントを作成し、ナビゲーションでそのフラグメントを概要ページとつなげ、物件データをフラグメントに渡す
プロフィール
大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで