Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dart
Search
funnelbit
January 30, 2017
Programming
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dart
funnelbit
January 30, 2017
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.5k
droidkaigi-2017-renovation
funnelbit
10
11k
BottomBarAndSnackBar
funnelbit
0
560
Dagger2 Optional bindings
funnelbit
0
620
WearableRecyclerView
funnelbit
1
860
QucikSettingsTileAPI
funnelbit
0
390
Mobile Vision
funnelbit
0
500
AwarenessAPI
funnelbit
0
170
Asynchronous Injection
funnelbit
1
290
Other Decks in Programming
See All in Programming
Next.js: The final boss of Web Performance
guaca
0
290
GraphQL の onError と Nullability のこれから
quramy
0
110
AmebaブログはKMPから卒業します
kmars0605
0
210
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.5k
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
800
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
850
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
670
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
110
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
3
520
Simple Storage Service(S3) is not simple
iwatsukayura
0
290
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
850
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Designing for humans not robots
tammielis
254
26k
The Curious Case for Waylosing
cassininazir
1
570
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Transcript
%BSU
ࣗݾհ ଜྋ גࣜձࣾͯͳ )BUFOBGVOOFMCJU 5XJUUFS!FYQFSPQFSP
%SPJE,BJHJͰൃද͠·͢ w IUUQTESPJELBJHJHJUIVCJP w 3PPNd w IUUQTESPJELBJHJHJUIVCJP UJNFUBCMFIUNM
*OUFOU ͷ ѻ͍Λ ؆୯ʹ͢Δ
4USJOH .BJO"DUJWJUZ .BJO"DUJWJUZ
.BJO"DUJWJUZ public class MainActivity extends AppCompatActivity { … Intent intent
= new Intent(MainActivity.this, Main2Activity.class); intent.putExtra(Main2Activity.EXTRA_TEXT, "ok"); startActivity(intent); … }
.BJO"DUJWJUZ public class Main2Activity extends AppCompatActivity { … public static
final String EXTRA_TEXT = “text"; … Bundle extras = getIntent().getExtras(); Log.e("extra_text", extras.getString(EXTRA_TEXT)); … }
4USJOH PS /VMM .BJO"DUJWJUZ .BJO"DUJWJUZ
.BJO"DUJWJUZ public class Main2Activity extends AppCompatActivity { public static final
String EXTRA_TEXT = "text"; … Bundle extras = getIntent().getExtras(); if (extras != null) { Log.e(“extra_text", extras.getString(EXTRA_TEXT, "defaultValue")); } … }
w ૿͑Δఆ w ૿͑ΔJGจ w ૿͢ϨϏϡʔίετ
%BSU %BSUBOE)FOTPO
%BSU %BSUBOE)FOTPO w #VUUFS,OJGFΈͨ͘&YUSBͷΛ*OKFDU͢Δ w ίϯύΠϧ࣌ʹ*OKFDU͢ΔίʔυΛੜ
4USJOH .BJO"DUJWJUZ .BJO"DUJWJUZ
.BJO"DUJWJUZ public class MainActivity extends AppCompatActivity { … Intent intent
= new Intent(MainActivity.this, Main2Activity.class); intent.putExtra(Main2Activity.EXTRA_TEXT, “ok"); … Intent intent = Henson.with(MainActivity.this) .gotoMain2Activity() .text("ok") .build(); startActivity(intent); … }
.BJO"DUJWJUZ public class Main2Activity extends AppCompatActivity { … @InjectExtra String
text; public static final String EXTRA_TEXT = "text"; … Dart.inject(this); Log.e("extra_text", text); … }
0QUJPOBM*OKFDUJPO
4USJOH PS /VMM .BJO"DUJWJUZ .BJO"DUJWJUZ
.BJO"DUJWJUZ public class MainActivity extends AppCompatActivity { … Intent intent
= new Intent(MainActivity.this, Main2Activity.class); intent.putExtra(Main2Activity.EXTRA_TEXT, “ok"); … Intent intent = Henson.with(MainActivity.this) .gotoMain2Activity() .text("ok") .build(); startActivity(intent); … }
.BJO"DUJWJUZ public class Main2Activity extends AppCompatActivity { … @Nullable @InjectExtra
String text; public static final String EXTRA_TEXT = "text"; … Dart.inject(this); if (!TextUtils.isEmpty(text)) { Log.e("extra_text", text); … Bundle extras = getIntent().getExtras(); if (extras != null) { Log.e(“extra_text", extras.getString(EXTRA_TEXT, "defaultValue")); } }
%FGBVMU7BMVFT
.BJO"DUJWJUZ public class Main2Activity extends AppCompatActivity { … @Nullable @InjectExtra
String text = "default"; … }
'SBHNFOU
%BSUJOKFDU 'SBHNFOU public class BlankFragment extends Fragment { @InjectExtra String
param1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Dart.inject(this);
%BSUJOKFDU BOESPJEBQQ'SBHNFOU
%BSUJOKFDU 0CKFDU #VOEMF
.BJO"DUJWJUZ public class Main2Activity extends AppCompatActivity { … Bundle extras
= Henson.with(this) .gotoBlankFragment() .param1(“??????”) .build() .getExtras(); blankFragment = new BlankFragment(); blankFragment.setArguments(extras); getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment_container, blankFragment, TAG_FRAGMENT) .commit(); … }
#MBOL'SBHNFOU public class BlankFragment extends Fragment { @InjectExtra String param1;
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Dart.inject(this, getArguments()); Log.e("param1", param1); } } w ͪΐͬͱେม
.BJO"DUJWJUZ public class MainActivity extends AppCompatActivity { … Bundle
fragmentExtras = Henson.with(MainActivity.this) .gotoBlankFragment() .param1("!!!!!!!!!") .build() .getExtras(); Intent intent = Henson.with(MainActivity.this) .gotoMain2Activity() .text("a") .build(); intent.putExtras(fragmentExtras); startActivity(intent); … }
.BJO"DUJWJUZ public class Main2Activity extends AppCompatActivity { … Fragment blankFragment
= getSupportFragmentManager().findFragmentByTag(TAG_FRAGMENT); if (blankFragment == null) { getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment_container, new BlankFragment(), TAG_FRAGMENT) .commit(); } … }
#MBOL'SBHNFOU public class BlankFragment extends Fragment { @InjectExtra String param1;
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.e("param1", param1); } @Override public void onAttach(Context context) { super.onAttach(context); Dart.inject(this, getActivity()); } } w ͍ͩͿେม
·ͱΊ w ίʔυྔͷ૿ՃΛ͑Δ͜ͱ͕ग़དྷΔ w Մಡੑ্ w ϨϏϡʔ͍͢͠ w 'SBHNFOUͰ͏ʹͪΐͬͱบ͕͋Δ
ࢀߟ w IUUQTHJUIVCDPNGQSBUFFLEBSU
͋Γ͕ͱ͏͍͟͝·ͨ͠