Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@sokume2106

新しいFragmentTemplateをためそう

More than 1 year has passed since last update.
  • この記事は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:

1
Help us understand the problem. What is going on with this article?
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
sokume2106
名古屋で Android や iOS のアプリ開発しています。どっちも好きですがドロイド君の方が好きかも。
stmn-co
名古屋のITスタートアップベンチャーです。「一人でも多くの人に、感動を届け、幸せを広める。」の経営理念のもと、 エンゲージメント経営コンサルティング「TUNAG」、オンラインファンサロンアプリ「FANTS」などのサービスを展開しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?