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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
740
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
SmartHR Engineering Team Deck
smarthr
1
2.5k
AIのためのEthernet技術動向 (SerDes)
markunet
1
210
猫付きpingコマンドを自作
uyuki234
0
260
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
3
25k
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
140
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
Genie Codeハンズオン応用編
taka_aki
0
120
なぜ Temporal の大小比較には compare しかないのか / Why Does Temporal Only Have compare() for Comparisons
kazukihayase
1
150
自宅NWにISR4331を導入してみた話
okaits
0
110
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
500
Thoughts on Productivity
jonyablonski
76
5.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
700
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Paper Plane
katiecoart
PRO
2
53k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Product Roadmaps are Hard
iamctodd
55
12k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Color Theory Basics | Prateek | Gurzu
gurzu
0
420
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
440
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