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
71
Google Mobile Design Codelab.pdf
jasonni
1
130
JQuery Plugin Publish
jasonni
1
290
Other Decks in Technology
See All in Technology
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
2
1.7k
AGENTS.mdとSkillsで始めるAIエージェント活用
sonoda_mj
2
190
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
610
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
1
230
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
5
1.3k
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
140
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
130
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
0
240
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
4
1.7k
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
440
Claude Codeをどのように キャッチアップしているか
oikon48
5
2.5k
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
770
Featured
See All Featured
Claude Code のすすめ
schroneko
67
230k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Amusing Abliteration
ianozsvald
1
200
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
A Soul's Torment
seathinner
6
2.9k
Are puppies a ranking factor?
jonoalderson
1
3.5k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Technical Leadership for Architectural Decision Making
baasie
3
400
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
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