Help us understand the problem. What is going on with this article?

新しいFragmentTemplateをためそう

  • この記事はAndroid 初心者向け Advent Calendar 2019 の13日目の内容です:snowman2:

はじめに

  • Android Studio 4.0 Canary バージョンで新しいFragmentTempleteが追加されました。
  • 追加されたTempleteを試してどのように適応されるか確認していきましょう。

事前準備

追加されたFragmentTempleteは?

Android Studio 3.5 Android Studio 4.0
fragment_template_3_5.png fragment_template_4_0.png

LoginFragment

スクリーンショット 2019-12-10 23.30.19.png

  • 名前の通り、ログイン風UIが生成されるテンプレート

追加ファイル(View関連)

  • LoginFragment.kt
    • Viewを構成するFragmentファイル
  • fragment_login.xml
    • LoginFragmentで使用しているレイアウトファイル
  • LoggedInUserView.kt
    • 認証済みユーザー情報

追加ファイル(ViewModel関連)

  • LoginViewModelFactory.kt
    • LoginViewModelを生成する為のFactoryクラス
  • LoginViewModel.kt
    • ViewModelの処理を実装しているクラス
  • LoginResult.kt
    • Repositoryの処理を返却するためのデータクラス
  • LoginFormState.kt
    • UIの入力状態を返却するためのデータクラス

追加ファイル(Model関連)

  • LoginRepository.kt
    • Repositoryの処理を実施するクラス
  • LoginDataSource.kt
    • ログイン処理を実施するクラス
  • LoggedInUser.kt
    • ログイン情報を返却するデータクラス
  • Result.kt
    • DataSourceからの処理結果を返却するクラス

良い点:relaxed:

  • MVVMを意識した形でクラスの構成がされている:ok_hand:
  • ログイン処理の役割を分担をどうするか参考に:thumbsup:
  • ログイン結果をResultクラスの形で返している部分が:smiley:

SettingFragment

スクリーンショット 2019-12-10 23.30.28.png

  • 設定画面を簡単に生成できるテンプレート

注意:weary:

  • テンプレート適応後に必要となるライブラリの設定が書き込まれないので注意

  • app/build.gradleに以下を追加する必要があります

dependencies {
    implementation 'androidx.preference:preference:1.0.0'
}

追加ファイル

  • SettingsFragment.kt
    • PreferenceFragmentCompat を継承したクラス
    • XMLのレイアウト要素を読み込ませることで、画面が作成される
  • root_preferences.xml
    • レイアウト要素を構成しているファイル
    • 各要素のkeyを元に自動的に設定が保存される

良い点:relaxed:

  • PreferenceFragmentCompatがすぐ理解できる:grinning:

まとめ

  • すべてのFragmentTemplateを試すことはできていませんが、実装の参考にすることはできると思います!
  • 気になるテンプレートがあれば試してみましょう。

これからも楽しいアプリケーション開発を:dancers:

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away