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
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
80
Google Mobile Design Codelab.pdf
jasonni
1
140
JQuery Plugin Publish
jasonni
1
300
Other Decks in Technology
See All in Technology
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
2
840
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
180
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
210
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
210
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
150
夫婦で子育てするための育児標準化
codmoninc
PRO
0
490
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
320
LLM Content Moderationを支える評価・改善ループの実践
suikabar
1
200
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
Browser Spec: Testing Hotwire with Ruby
takahashim
1
140
WasmをRustにする
sansantech
PRO
0
300
会社説明資料
persolserverworks
0
9.8k
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
How to build a perfect <img>
jonoalderson
1
6.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Faster Mobile Websites
deanohume
310
32k
Code Review Best Practice
trishagee
74
20k
Site-Speed That Sticks
csswizardry
13
1.6k
Side Projects
sachag
456
43k
Automating Front-end Workflow
addyosmani
1369
210k
Designing for Performance
lara
612
70k
Done Done
chrislema
187
17k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
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