Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Navigation Component
Search
satsukies
May 22, 2018
Technology
5
3.8k
Navigation Component
Presented at CA.apk #6 (2018.05.22)
satsukies
May 22, 2018
Tweet
Share
More Decks by satsukies
See All by satsukies
5分で作るモックサーバー
satsukies
0
1.1k
Android スキルセットをフル活用して始めるスマートテレビアプリ開発
satsukies
1
780
Android TVに関するアップデート / What's new on Android TV
satsukies
0
200
Kotlin Nativeでクロスプラットフォーム開発 / Cross-platform development with Kotlin Native
satsukies
1
860
「OK google, プロジェクトのbuildして」
satsukies
2
1.5k
いまさら始めるInstant App
satsukies
1
370
View Animation
satsukies
1
770
Other Decks in Technology
See All in Technology
Railway Oriented Programming を オニオンアーキテクチャに適用する by kotlin-result / Railway Oriented Programming in Onion Architecture by kotlin-result
yuitosato
2
210
インシデント対応の 実践と品質文化の醸成
____rina____
2
1.5k
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
190
都市伝説バスターズ「WebアプリのボトルネックはDBだから言語の性能は関係ない」 - Kaigi on Rails 2024
osyoyu
13
4.8k
EKS初心者が早めに知っておきたかったこと
cuorain
0
140
新R25、乃木坂46 Mobileなどのファンビジネスを支えるマルチテナンシーなプラットフォームの全体像 / cam-multi-cloud
cyberagentdevelopers
PRO
1
110
端末が簡単にリモートから操作されるデモを通じて ソフトウェアサプライチェーン攻撃対策の重要性を理解しよう
kitaji0306
0
150
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
1
130
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
220
内製化によるシステムモダナイゼーションの実践
kazokmr
3
530
分布で見る効果検証入門 / ai-distributional-effect
cyberagentdevelopers
PRO
2
550
話題のGraphRAG、その可能性と課題を理解する
hide212131
0
150
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
The Cost Of JavaScript in 2023
addyosmani
45
6.2k
Gamification - CAS2011
davidbonilla
80
5k
Six Lessons from altMBA
skipperchong
26
3.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Automating Front-end Workflow
addyosmani
1365
200k
Docker and Python
trallard
40
3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Designing for Performance
lara
604
68k
Transcript
/BWJHBUJPO$PNQPOFOU !TBUVTLJFT $"BQL(PPHMF*0ใࠂձ
8IPJTʁ !TBUTVLJFT ͖ͭ͞ w "CFNB57Ͱ"OESPJE։ൃͬͯ·͢ w εϚϗ1$ͦͷଞిࢠػثͷΦλΫ w ΏΔΩϟϯ˚͍͍ͧ
"OESPJE+FUQBDL w ૉૣ͘ɺ؆୯ʹΞϓϦΛ։ൃ͢ΔͨΊͷπʔϧϥΠϒϥϦ܈ͷ૯শ w lVOCVOEMFEzͳঢ়ଶͰఏڙ ɹʹඞཁͳͷΛɺ͖ͳλΠϛϯάͰ࠾༻Ͱ͖Δ
5PEBZ`TUPQJD /BWJHBUJPO
5-%3 w "OESPJE+FUQBDLͷ̍ػೳͱͯ͠/BWJHBUJPO͕৽͘͠ఏڙ w /BWJHBUJPOը໘ભҠͷ࣮Λ؆୯͔ͭૉૣ͘Ͱ͖ΔΑ͏ʹͳΔ w /BWJHBUJPOͷΨΠυϥΠϯͱͯͭ͠ͷݪଇ͕ڍ͛ΒΕ͍ͯΔ w ࠓޙɺ୯ҰΞΫςΟϏςΟͳߏʹ͍͖ͯ͘͠ͳͷ͔
8IBU`TUIF/BWJHBUJPO w J04ΞϓϦ։ൃͰͷ4UPSZCPBSEͷҰ෦Έ͍ͨͳΠϝʔδ w ը໘ભҠʹؔ͢Δ෦͚͕ͩ༗ޮʹͳͬͯΔΑ͏ͳײ͡ʁ
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ w 4BGF"SHVNFOUTʹΑΔܕ҆શͳҾͷαϙʔτ w ࢹ֮తͳπʔϧ͕༻ҙ w
্هͷఆٛΛ(6*Ͱײతʹ࣮ߦ w ఆ͕ٛࢹ֮Խ͞ΕΔͷͰɺҰͰը໘ؒͷભҠ͕ؔ֬ೝՄೳʹ
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ <navigation xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" app:startDestination="@+id/launcher_home"> <fragment android:id="@+id/launcher_home"
android:name="com.example.android.codelabs.navigation.MainFragment" android:label="@string/home" tools:layout="@layout/main_fragment" /> <activity android:id="@+id/main_activity" android:name="com.example.android.codelabs.navigation.MainActivity" android:label="MainActivity" /> </navigation>
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ <action android:id="@+id/next_action" app:destination="@+id/flow_step_one" app:enterAnim="@anim/slide_in_right" app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_left" app:popExitAnim="@anim/slide_out_right" /> <deepLink app:uri="www.example.com/{myarg}" />
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU 'SBHNFOU 'SBHNFOU ىಈ ΞʔςΟετ
બ ΞϧόϜબ
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU 'SBHNFOU 'SBHNFOU
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU 'SBHNFOU 'SBHNFOU ىಈ ΞʔςΟετ
બ ΞϧόϜબ %FFQ-JOLىಈ IUUQIPHFDPNBSUJTUYYYZZZ
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU 'SBHNFOU 'SBHNFOU IUUQIPHFDPNBSUJTUYYYZZZ όοΫελοΫʹը໘͕
ੵ·Εͨঢ়ଶʹͳΒͳ͍ʂ
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU IUUQIPHFDPNBSUJTUYYYZZZ IUUQIPHFDPN
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU 'SBHNFOU IUUQIPHFDPNBSUJTUYYYZZZ IUUQIPHFDPNBSUJTUYYY
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU 'SBHNFOU 'SBHNFOU IUUQIPHFDPNBSUJTUYYYZZZ TUBSU"DUJWJUJFT
'SBHNFOU5SBOTBDUJPO
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ 'SBHNFOU 'SBHNFOU 'SBHNFOU IUUQIPHFDPNBSUJTUYYYZZZ TUBSU"DUJWJUJFT
'SBHNFOU5SBOTBDUJPO /BWJHBUJPOΛͬͯ ը໘ભҠΛߏங͢Ε ಉͷ͜ͱ͕؆୯ʹ࣮ݱՄೳ
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w 4BGF"SHVNFOUTʹΑΔܕ҆શͳҾͷαϙʔτ w 'SBHNFOUʹॳظΛ͍ͨ࣌͠ɺ#VOEMFΛྑ͘͏ val args =
Bundle() args.putInt("artistId", 123456) val artistId = arguments?.getInt("artistId") ֨ೲ࣌ͱผͷܕͰΞΫηε͠Α͏ͱ͢Δ͜ͱՄೳ ʹܕ҆શ͡Όͳ͍
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w 4BGF"SHVNFOUTʹΑΔܕ҆શͳҾͷαϙʔτ <fragment android:id="@+id/flow_step_one" android:name="com.example.android.codelabs.navigation.FlowStepFragment" tools:layout="@layout/flow_step_one_fragment" >
<argument android:name="artistId" android:defaultValue="hoge" app:type=“string" /> </fragment>
public class FlowStepFragmentArgs { private String artistId = "hoge"; private
FlowStepFragmentArgs() { } public static FlowStepFragmentArgs fromBundle(Bundle bundle) { FlowStepFragmentArgs result = new FlowStepFragmentArgs(); if (bundle.containsKey("artistId")) { result.artistId = bundle.getString("artistId"); } return result; } public String getArtistId() { return artistId; } public Bundle toBundle() { Bundle __outBundle = new Bundle(); __outBundle.putString("artistId", this.artistId); return __outBundle; } ...
public static class Builder { private String artistId = "hoge";
public Builder(FlowStepFragmentArgs original) { this.artistId = original.artistId; } public Builder() {} public FlowStepFragmentArgs build() { FlowStepFragmentArgs result = new FlowStepFragmentArgs(); result.artistId = this.artistId; return result; } public Builder setArtistId(String artistId) { this.artistId = artistId; return this; } public String getArtistId() { return artistId; } }
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w 4BGF"SHVNFOUTʹΑΔܕ҆શͳҾͷαϙʔτ FlowStepFragmentArgs.Builder() .setArtistId("123456") .build() .toBundle() val
artistId = arguments?.let { val safeArgs = FlowStepFragmentArgs.fromBundle(it) safeArgs.artistId } UZQFTBGFʹҾܦ༝ͰΓͱΓ͕Մೳ
8IBU`TUIF/BWJHBUJPO w ࢹ֮తͳπʔϧ͕༻ҙ
8IBU`TUIF/BWJHBUJPO w ࢹ֮తͳπʔϧ͕༻ҙ w ఆٛΛ(6*Ͱײతʹ࣮ߦ
None
8IBU`TUIF/BWJHBUJPO w ࢹ֮తͳπʔϧ͕༻ҙ w ্هͷఆٛΛ(6*Ͱײతʹ࣮ߦ w ఆ͕ٛࢹ֮Խ͞ΕΔͷͰɺҰͰը໘ؒͷભҠ͕ؔ֬ೝՄೳʹ
8IBU`TUIF/BWJHBUJPO w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w "DUJWJUZ'SBHNFOUؒͷભҠɺ%FFQ-JOLʹΑΔը໘ͷىಈ w 4BGF"SHVNFOUTʹΑΔܕ҆શͳҾͷαϙʔτ w ࢹ֮తͳπʔϧ͕༻ҙ w
্هͷఆٛΛ(6*Ͱײతʹ࣮ߦ w ఆ͕ٛࢹ֮Խ͞ΕΔͷͰɺҰͰը໘ؒͷભҠ͕ؔ֬ೝՄೳʹ
1SJODJQMFPG/BWJHBUJPO /BWJHBUJPOͷհϖʔδʹɺҎԼͷΑ͏ͳΨΠυϥΠϯ͕ࣔ͞Εͯ·͢ w 5IFBQQTIPVMEIBWFBpYFETUBSUJOHEFTUJOBUJPO w "TUBDLJTVTFEUPSFQSFTFOUUIFlOBWJHBUJPOTUBUFzPGBOBQQ w 5IF6QCVUUPOOFWFSFYJUTZPVSBQQ w 6QBOE#BDLBSFFRVJWBMFOUXJUIJOZPVSBQQ`TUBTL
w %FFQMJOLJOHUPBEFTUJOBUJPOPSOBWJHBUJOHUPUIFTBNFEFTUJOBUJPO TIPVMEZJFMEUIFTBNFTUBDL
1SJODJQMFPG/BWJHBUJPO 5IFBQQTIPVMEIBWFBpYFETUBSUJOHEFTUJOBUJPO w ΞϓϦΛىಈͨ࣌͠ɺಉ͡։࢝ઌʹ౸ୡ͖͢ w ॳճىಈ࣌ͷઃఆը໘ɺϩάΠϯը໘ͳͲ͜Εʹͯ·Βͳ͍ w Ϣʔβ͕ɺΞϓϦΛىಈޙʹͲͷը໘ʹ౸ୡ͢Δͷ͔༧ଌͰ͖Δ w ͜ͷը໘͕ɺΞϓϦͰͷϗʔϜը໘ͷΑ͏ͳׂΛ࣋ͭ
w #BDLɺ6QͳͲͰϥϯνϟʔΔࡍɺ࠷ޙʹදࣔ͞ΕΔը໘ͷͣ
1SJODJQMFPG/BWJHBUJPO "TUBDLJTVTFEUPSFQSFTFOU ɹɹɹɹɹɹɹɹɹɹUIFlOBWJHBUJPOTUBUFzPGBOBQQ w TUBDLΞϓϦͷzφϏήʔγϣϯঢ়ଶzΛࣔͨ͢ΊʹΘΕΔ w TUBDL'*-0 -*'0 ͷߏ w
Ұ൪Լʹελʔτը໘͕͋Γɺࠓ͍Δը໘Ұ൪্ʹ͋Δͣ w ը໘ͷભҠઌ಄ͷ1VTI͔ɺઌ಄ͷ1PQͰදݱ͞ΕΔ
1SJODJQMFPG/BWJHBUJPO 5IF6QCVUUPOOFWFSFYJUTZPVSBQQ w 6QϘλϯઈରʹΞϓϦΛऴྃ͠ͳ͍ w Ϣʔβ͕ελʔτը໘ʹ͍Δ߹ɺ ɹɹɹɹɹɹɹ6QϘλϯදࣔ͞Εͳ͍
1SJODJQMFPG/BWJHBUJPO 5IF6QCVUUPOOFWFSFYJUTZPVSBQQ w 6QϘλϯઈରʹΞϓϦΛऴྃ͠ͳ͍ w Ϣʔβ͕ελʔτը໘ʹ͍Δ߹ɺ ɹɹɹɹɹɹɹ6QϘλϯදࣔ͞Εͳ͍ w %FFQMJOLͰΞϓϦΛىಈͨ͠߹ɺ 6QϘλϯΞϓϦͷը໘ʹΔ͜ͱΛҙຯ
1SJODJQMFPG/BWJHBUJPO 6QBOE#BDLBSFFRVJWBMFOUXJUIJOZPVSBQQ`TUBTL w 6QϘλϯͱ#BDLΩʔΞϓϦͷUBTLͰಉ͡
6QϘλϯ #BDLΩʔ ಉͷૢ࡞ʹͳΔ
1SJODJQMFPG/BWJHBUJPO 6QBOE#BDLBSFFRVJWBMFOUXJUIJOZPVSBQQ`TUBTL w 6QϘλϯͱ#BDLΩʔΞϓϦͷUBTLͰಉ͡ w ελʔτը໘ʹ͍Δ߹ɺ6QϘλϯӅ͞Εɺ#BDLΩʔͰΞϓϦ͕ऴྃ ԡԼͰΞϓϦऴྃ 6QϘλϯ͕ඇදࣔʹ
1SJODJQMFPG/BWJHBUJPO %FFQMJOLJOHUPBEFTUJOBUJPOPSOBWJHBUJOH UPUIFTBNFEFTUJOBUJPOTIPVMEZJFMEUIFTBNFTUBDL w ౸ୡઌ͕ಉ͡ͳΒɺ%FFQMJOLʹΑΔભҠͱΞϓϦͰͷભҠ ಉ͡TUBDL͕ੜ͞ΕΔ w ҙͷը໘ʹͲͷΑ͏ʹ౸ୡ͔ͨ͠ʹؔΘΒͣɺ#BDLΩʔ͘͠6QϘ λϯΛͬͯελʔτը໘·ͰΕΔ w
%FFQMJOLͰͷભҠ࣌ɺطଘͷTUBDLഁغ͞Εɺ%FFQMJOLʹΑͬͯੜ ͞ΕͨTUBDLʹஔ͖ΘΔ
1SJODJQMFPG/BWJHBUJPO /BWJHBUJPOͷհϖʔδʹɺҎԼͷΑ͏ͳΨΠυϥΠϯ͕ࣔ͞Εͯ·͢ w 5IFBQQTIPVMEIBWFBpYFETUBSUJOHEFTUJOBUJPO w "TUBDLJTVTFEUPSFQSFTFOUUIFlOBWJHBUJPOTUBUFzPGBOBQQ w 5IF6QCVUUPOOFWFSFYJUTZPVSBQQ w 6QBOE#BDLBSFFRVJWBMFOUXJUIJOZPVSBQQ`TUBTL
w %FFQMJOLJOHUPBEFTUJOBUJPOPSOBWJHBUJOHUPUIFTBNFEFTUJOBUJPO TIPVMEZJFMEUIFTBNFTUBDL
4UBSUUP/BWJHBUJPO w ͭͷϥΠϒϥϦͱͭͷ(SBEMFQMVHJOͰߏʢBMQIB࣌ʣ
4UBSUUP/BWJHBUJPO w ͭͷϥΠϒϥϦͱͭͷ(SBEMFQMVHJOͰߏʢBMQIB࣌ʣ w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPODPNNPO w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOSVOUJNF উखʹJNQPSU͞ΕΔ
4UBSUUP/BWJHBUJPO w ͭͷϥΠϒϥϦͱͭͷ(SBEMFQMVHJOͰߏʢBMQIB࣌ʣ w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPODPNNPO w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOSVOUJNF w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOGSBHNFOU w
BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOVJ /BWJHBUJPO ಋೖ͢ΔͳΒඞਢ
4UBSUUP/BWJHBUJPO w ͭͷϥΠϒϥϦͱͭͷ(SBEMFQMVHJOͰߏʢBMQIB࣌ʣ w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPODPNNPO w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOSVOUJNF w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOGSBHNFOU w
BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOVJ w BOESPJEBSDIOBWJHBUJPOOBWJHBUJPOTBGFBSHTHSBEMFQMVHJO ͜Ε୯ମͰ ͑Δ͔
4UBSUUP/BWJHBUJPO w ϞδϡʔϧͷCVJMEHSBEMFʹҎԼΛՃ w w 4BGFBSHVNFOUTΛ͏߹ɺϓϩδΣΫτͷCVJMEHSBEMFʹҎԼΛՃ implementation 'android.arch.navigation:navigation-fragment:1.0.0-alpha01'
implementation 'android.arch.navigation:navigation-ui:1.0.0-alpha01' dependencies { classpath 'android.arch.navigation:navigation-safe-args- gradle-plugin:1.0.0-alpha01' }
4UBSUUP/BWJHBUJPO w φϏήʔγϣϯάϥϑΛϦιʔεͱͯ͠Ճ͢Δ w SFTσΟϨΫτϦͰOFX"OESPJE3FTPVSDF'JMF w 3FTPVSDF5ZQF/BWJHBUJPOΛબ
4UBSUUP/BWJHBUJPO w φϏήʔγϣϯάϥϑΛϦιʔεͱͯ͠Ճ͢Δ w ৽ن࡞͢Δͱɺ͜Μͳײ͡ͰۭͷYNMϦιʔε͕ੜ͞ΕΔ
4UBSUUP/BWJHBUJPO w ભҠରͱͳΔը໘ΛϦιʔεՃ͢Δ
4UBSUUP/BWJHBUJPO w ભҠରͱͳΔը໘ΛϦιʔεՃ͢Δ w UPPMTMBZPVUͰϨΠΞτ*%Λࢦఆ͢Δͱ ɹɹɹɹɹɹϓϨϏϡʔΛ(6*্Ͱඳըͯ͘͠ΕΔ
4UBSUUP/BWJHBUJPO w ը໘ಉ࢜ͷભҠʢ"DUJPOʣΛՃ
4UBSUUP/BWJHBUJPO w ը໘ಉ࢜ͷભҠʢ"DUJPOʣΛՃ BQQEFTUJOBUJPOʹɺભҠઌը໘ͷ/BWJHBUJPOάϥϑͰͷ*%͕ೖΔ
4UBSUUP/BWJHBUJPO w 'SBHNFOUʹ͢Ҿͷఆٛ w ΤσΟλʔӈଆͷ"UUSJCVUFTϖΠϯ͔ΒՃՄೳ ҎԼͷཁૉΛࢦఆ͢Δ wOBNF wUZQF wEFGBVMUWBMVF
4UBSUUP/BWJHBUJPO w 'SBHNFOUʹ͢Ҿͷఆٛ w ΤσΟλʔӈଆͷ"UUSJCVUFTϖΠϯ͔ΒՃՄೳ
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w /BW)PTU'SBHNFOUΛϨΠΞτʹՃ w Ҏޙɺ༻ҙͨ͠ྖҬʹભҠઌͷGSBHNFOU͕දࣔ͞ΕΔ
None
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w /BW)PTU'SBHNFOUΛϨΠΞτʹՃ w Ҏޙɺ༻ҙͨ͠ྖҬʹભҠઌͷGSBHNFOU͕දࣔ͞ΕΔ
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w /BW)PTU'SBHNFOUΛϨΠΞτʹՃ w OBWJHBUJPOϦιʔεͱ/BW)PTU'SBHNFOUΛؔ࿈͚͍ͮͯ͠Δ
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w /BW)PTU'SBHNFOUΛϨΠΞτʹՃ w 4ZTUFN͔Βͷ#BDLΩʔΠϕϯτΛरͬͯ͘ΕΔΑ͏ʹͳΔ
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w /BW)PTU'SBHNFOUΛϨΠΞτʹՃ w "DUJWJUZͰҎԼΛՃ͢Δ͜ͱͰɺ#BDLΩʔʹΑΔ֊ͷભҠΛ࣮ݱ
None
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w /BWJHBUJPO6*TFUVQ8JUI/BW$POUSPMMFS ͰNFOVपΓΛηοτΞοϓ
None
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w .FOVͱಉ͡Α͏ʹ/BWJHBUJPO6*ͷϝιουͰηοτΞοϓ w /BWJHBUJPO6*TFU6Q"DUJPO#BS8JUI/BW$POUSPMMFS
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w NFOVϦιʔεͷ֤JUFNͷ*%ɺOBWJHBUJPOϦιʔεͰͷભҠઌը໘ʹ ͍͍ͭͯΔ*%Λࢦఆ͢Δ w *%ҰகͰɺભҠઌ͕ϝχϡʔʹࣗಈͰCJOE͞ΕΔ
4UBSUUP/BWJHBUJPO w "DUJWJUZΛमਖ਼ͯ͠φϏήʔγϣϯΛ༗ޮԽ͢Δ w NFOVϦιʔεͷ֤JUFNͷ*%ɺOBWJHBUJPOϦιʔεͰͷભҠઌը໘ʹ ͍͍ͭͯΔ*%Λࢦఆ͢Δ w *%ҰகͰɺભҠઌ͕ϝχϡʔʹࣗಈͰCJOE͞ΕΔ
4UBSUUP/BWJHBUJPO w ը໘ભҠΛखಈͰߦ͍͍ͨ߹ɺ/BWJHBUJPO$POUSPMMFSOBWJHBUF w /BWJHBUJPOpOE/BW$POUSPMMFS WJFX ͰίϯτϩʔϥΛऔಘ w OBWJHBUF
Ͱɺ/BWJHBUJPOϦιʔεͰఆٛͨ͠BDUJPOͷ*%ΛҾʹ͢
None
"QQFOEJY"EEBOJNBUJPO w ը໘ભҠʹΞχϝʔγϣϯΛ͚͍ͭͨ w ΤσΟλ͔Β؆୯ʹΞχϝʔγϣϯΛࢦఆՄೳ w "DUJPOΛબͨ͠ঢ়ଶͰɺӈଆͷ"UUSJCVUFϖΠϯͰม͑ΒΕΔ
"QQFOEJY4BGF"SHVNFOU w OBWJHBUJPOTBGFBSHTHSBEMFQMVHJO͚ͩ׆༻ͯ͠ΈΔ w 5ZQFTBGFͳ'SBHNFOUͷҾͷड͚͠Λ࣮ݱ w /BWJHBUJPOάϥϑͰ"SHVNFOUT͚ͩઃఆͯ͠ɺ"SHTΫϥεΛੜ w ࣗಈੜ͞ΕͨΫϥεͷ#VJMEFSΛͬͯ#VOEMFʹΛอଘಡग़
8IBU`TUIF/BWJHBUJPOʢ࠶ܝʣ w ը໘ભҠΛ9.-ϕʔεͷϦιʔεͱͯ͠ఆٛ w 4BGF"SHVNFOUTʹΑΔܕ҆શͳҾͷαϙʔτ FlowStepFragmentArgs.Builder() .setArtistId("123456") .build() .toBundle() val
artistId = arguments?.let { val safeArgs = FlowStepFragmentArgs.fromBundle(it) safeArgs.artistId } UZQFTBGFʹҾܦ༝ͰΓͱΓ͕Մೳ
·ͱΊ w "OESPJE+FUQBDLͷ̍ػೳͱͯ͠/BWJHBUJPO͕৽͘͠ఏڙ w +FUQBDLͷ֤ػೳݸผʹఏڙ͞Ε͍ͯΔͷͰɺదٓ࠾༻Ͱ͖Δ w /BWJHBUJPOը໘ભҠͷ࣮Λ؆୯͔ͭૉૣ͘Ͱ͖ΔΑ͏ʹͳΔ w 9.-ϕʔεͷϦιʔεͰɺײతͳ(6*ΤσΟλʔ͕༻ҙ͞Ε͍ͯΔ w
/BWJHBUJPOͷΨΠυϥΠϯͱͯͭ͠ͷݪଇ͕ڍ͛ΒΕ͍ͯΔ w ࠓޙɺ୯ҰΞΫςΟϏςΟͳߏʹ͍͖ͯ͘͠ͳͷ͔
5IBOLZPV !TBUTVLJFT