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
900
Android TVに関するアップデート / What's new on Android TV
satsukies
0
210
Kotlin Nativeでクロスプラットフォーム開発 / Cross-platform development with Kotlin Native
satsukies
1
920
「OK google, プロジェクトのbuildして」
satsukies
2
1.6k
いまさら始めるInstant App
satsukies
1
400
View Animation
satsukies
1
830
Other Decks in Technology
See All in Technology
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
超簡単!RAGアプリケーション構築術
oracle4engineer
PRO
0
120
Node−RED で Ollama を使ったローカルLLM(node-red-contrib-ollamaを利用) / ビジュアルプログラミングIoTLT vol.20
you
PRO
0
140
それでもぼくらは貢献をつづけるのだ(たぶん) @FOSS4GLT会#002
furukawayasuto
1
270
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
790
Things you never dared to ask about LLMs — v2
glaforge
1
510
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
740
データプレーンプログラミングとは? DPU&スイッチASICの開発経験から語る
ebiken
PRO
1
260
ローカル環境でAIを動かそう!
falken
PRO
1
170
令和トラベルQAのAI活用
seigaitakahiro
0
520
AIエージェントデザインパターンの選び方
almondo_event
0
140
Introduction to Bill One Development Engineer
sansan33
PRO
0
240
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Docker and Python
trallard
44
3.4k
Building Applications with DynamoDB
mza
95
6.4k
The Pragmatic Product Professional
lauravandoore
35
6.7k
For a Future-Friendly Web
brad_frost
178
9.7k
Practical Orchestrator
shlominoach
188
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Code Review Best Practice
trishagee
68
18k
We Have a Design System, Now What?
morganepeng
52
7.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
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