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
RxDialog
Search
JasonNi
June 17, 2017
Technology
440
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RxDialog
JasonNi
June 17, 2017
More Decks by JasonNi
See All by JasonNi
Android UI Design Pattern
jasonni
0
160
Google Mobile Developer Summit Overview
jasonni
1
72
Google Mobile Design Codelab.pdf
jasonni
1
140
JQuery Plugin Publish
jasonni
1
290
Other Decks in Technology
See All in Technology
あなたの知らないバージョン命名規則
sat
PRO
2
530
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
AIのためのEthernet技術動向 (SerDes)
markunet
1
310
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
390
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
130
AI時代に、人は何を、どう学ぶのか #pbl_pub / What and How Do We Learn in the AI Era?
takaking22
1
250
暗号化?某ファイルストレージはどうなるの!? 3rd Partyとうまく付き合う秘密度ラベル設計
kasada
0
180
:syncing_time:
sksat
2
690
dbt と Snowflake と tag
kevinrobot34
1
220
AI駆動開発はどこまで来たのか? ファインディの最新実態調査で読み解く現在地 Devin Con Tokyo
akiratom
1
460
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
12
85k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Code Review Best Practice
trishagee
74
20k
Into the Great Unknown - MozCon
thekraken
41
2.7k
Chasing Engaging Ingredients in Design
codingconduct
0
280
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
380
Leo the Paperboy
mayatellez
8
2.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
A Tale of Four Properties
chriscoyier
163
24k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
3Y%JBMPH +BTPO/J!1JOLPJ
Ⱇデ璭 剤剓倞Ⱇデ儘곏爚
鐱ⴕ璭 怏駈哭⟝儘곏爚
崞⹛璭 剤崞⹛儘곏爚
璭璭㋐姹㖈♧饱
None
None
None
public class LaunchActivity { @Override protected void onCreate(Bundle savedInstanceState)
{ Observable<Boolean> launchObservable = RxDialog.create(); Observable<Boolean> campaignObservable = RxDialog.create(); Observable<Boolean> rateObservable = RxDialog.create(); // ... Observable.concat( launchObservable, campaignObservable, rateObservable ); // ... } } LaunchActivity.java
public class RxDialog { public static Observable<Boolean> create() {
return Observable.create(emitter -> { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setPositiveButton(R.string.alert_ok, (dialog, which) -> { if (!emitter.isDisposed()) { emitter.onNext(true); emitter.onComplete(); } }); Dialog dialog = builder.show(); // ... }); } } RxDialog.java
onComplete onComplete
public class RxDialog { public static Observable<Boolean> create() {
return Observable.create(emitter -> { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setPositiveButton(R.string.alert_ok, (dialog, which) -> { if (!emitter.isDisposed()) { emitter.onNext(true); emitter.onComplete(); } }); Dialog dialog = builder.show(); // ... }); } } RxDialog.java onComplete
public class LaunchActivity { @Override protected void onCreate(Bundle savedInstanceState)
{ Observable<Boolean> launchObservable = RxDialog.create(); Observable<Boolean> campaignObservable = RxDialog.create(); Observable<Boolean> rateObservable = RxDialog.create(); // ... Observable.concat( launchObservable, campaignObservable, rateObservable ); // ... } } LaunchActivity.java
onComplete
public class LaunchActivity { @Override protected void onCreate(Bundle savedInstanceState)
{ Observable<Boolean> launchObservable = Observable.empty(); Observable<Boolean> campaignObservable = Observable.empty(); Observable<Boolean> rateObservable = Observable.empty(); // ... if (有公告) launchObservable = RxDialog.create(); if (有評價) launchObservable = RxDialog.create(); if (有活動) launchObservable = RxDialog.create(); Observable.concat( launchObservable, campaignObservable, rateObservable ); // ... } } LaunchActivity.java
That's all Folks! jasonni
QJOLPJDPNBCPVUDBSFFST
None