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.9k
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.2k
Android スキルセットをフル活用して始めるスマートテレビアプリ開発
satsukies
1
840
Android TVに関するアップデート / What's new on Android TV
satsukies
0
210
Kotlin Nativeでクロスプラットフォーム開発 / Cross-platform development with Kotlin Native
satsukies
1
910
「OK google, プロジェクトのbuildして」
satsukies
2
1.6k
いまさら始めるInstant App
satsukies
1
390
View Animation
satsukies
1
800
Other Decks in Technology
See All in Technology
分解して理解する Aspire
nenonaninu
1
290
デスクトップだけじゃないUbuntu
mtyshibata
0
150
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
410
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
370
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
710
運用しているアプリケーションのDBのリプレイスをやってみた
miura55
1
740
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
220
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3k
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.9k
組織貢献をするフリーランスエンジニアという生き方
n_takehata
2
1.3k
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
8
1.5k
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Why Our Code Smells
bkeepers
PRO
336
57k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Side Projects
sachag
452
42k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
How GitHub (no longer) Works
holman
314
140k
Writing Fast Ruby
sferik
628
61k
Thoughts on Productivity
jonyablonski
69
4.5k
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