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
What The Context ?
Search
Adnan A M
April 11, 2020
Programming
2
200
What The Context ?
Slides from my talk at BLRDroid
Adnan A M
April 11, 2020
Tweet
Share
More Decks by Adnan A M
See All by Adnan A M
Abridge Coding Guidelines
adnan321
0
34
A developer's guide to wealth
adnan321
0
240
What the Hook ?
adnan321
0
70
Scoping Your Storage
adnan321
2
140
Putting Work Manager To Work
adnan321
0
91
OOP To FP
adnan321
1
190
Putting Work Manager To Work
adnan321
1
140
A slice of Android Slices - droidcon London 2018
adnan321
0
97
Having fun with Kotlin fun()
adnan321
0
86
Other Decks in Programming
See All in Programming
月間4.5億回再生を超える大規模サービス TVer iOSアプリのリアーキテクチャ戦略 - iOSDC2024
techtver
PRO
1
930
実践!難読化ガイド
mitchan
0
160
Lessons by WebAssembly app in production on CDN Edge Computing Service
tetsuharuohzeki
0
210
AndroidアプリのUIバリエーションをあの手この手で確認する / Check UI variations of Android apps by various means
tkmnzm
1
140
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
masaygggg
0
200
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
540
サーバーレスで負荷試験!Step Functions + Lambdaを使ったk6の分散実行
shuntakahashi
6
1.5k
エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方
bicstone
5
1.5k
GraphQLの魅力を引き出すAndroidクライアント実装
morux2
3
540
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
9
2.4k
Increased Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
330
Debugging: All you need to know (for simultaneous interpreting)
jmatsu
2
760
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
43
13k
It's Worth the Effort
3n
182
27k
How To Stay Up To Date on Web Technology
chriscoyier
786
250k
Navigating Team Friction
lara
183
13k
Side Projects
sachag
451
42k
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
What the flash - Photography Introduction
edds
67
11k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Visualization
eitanlees
142
15k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
[RailsConf 2023] Rails as a piece of cake
palkan
48
4.6k
Transcript
W at he on ex B d 1
Context ?!?? C nt xt s ur m gi !
— Adnan A M B d 2
W y o n ed on ex ? ✴ g
u () ✴ g t () ✴ g e c () ✴ g () ✴ s X() -> S n c n (A y, S , B s e ) B d 3
Types of Context ✴ A t C ✴ A y
C ✴ B C ✴ T C ✴ t ✴ t B d 4
A tu l yp s f on ex ✴ U
C ✴ N -U C B d 5
Understanding the Hierarchy Context | Context Wrapper +-----------+---------+ | |
| Application Service ContextThemeWrapper | Activity B d 6
Understanding the Hierarchy ✴ C /C W ---> o C
✴ C T a -> C = C + T B d 7
UI Context Context + Your Theme B d 8
UI Context ✴ A y - i (I e a
y) ✴ F t - g e () ✴ V - g e () B d 9
Non UI Context ✴ A y - g i C
() ✴ S - g i C () / i (I e s ) ✴ C - g i C () ✴ B s R r - C p B d 10
Does it Matter ? My functionality works fine with either
\0/ B d 11
Which Context to Use ? B d 12
Application Context ✴ S o I e w h m
p ✴ g i C () ✴ N C (L L ) B d 13
Activity/Service Context ✴ U I e e a y/s ✴
t ✴ A y C - C ✴ S C - o C B d 14
Broadcast Receiver Context ✴ U I e e c ✴
c p a t ✴ N C ✴ Y e a R r c t w a r r e () n b v () d d B d 15
Base Context ✴ T d e i n h C
✴ C e l c ✴ C o d u a a e () h C W B d 16
getContext() It Depends \0/ B d 17
What #1 !!! ??? val intent = Intent(this, TestActivity::class.java) applicationContext.startActivity(intent)
B d 18
What #2 !!! ??? class SimpleSingleton { private static SimpleSingleton
sInstance; private Context mContext; public static SimpleSingleton getInstance(Context context) { if (sInstance == null) { sInstance = new SimpleSingleton(context); } return sInstance; } private SimpleSingleton(Context context) { mContext = context; } } B d 19
What #3 !!! ??? LayoutInflater.from(applicationContext).inflate( R.layout.progress_bar, parent, false ) B
d 20
Oh Wow #1 !!! val contextThemeWrapper = ContextThemeWrapper(this, R.style.YOUR_THEME) val
builder = AlertDialog.Builder(contextThemeWrapper) builder.show() B d 21
Sidenote val contextThemeWrapper = ContextThemeWrapper(this, R.style.YOUR_THEME) getBaseContext() ---> Returns instance
of this B d 22
Oh Wow #2 !!! val configuration = resources.configuration configuration.setLocale(your_custom_locale) context
= createConfigurationContext(configuration) B d 23
Oh Wow #3 !!! LayoutInflater.from(applicationContext).inflate( R.layout.progress_bar, parent, false ) B
d 24
Deciding Between UI & Non UI Context ✴ D o
e a r s ? --> C ✴ L L o O o --> o C ✴ N r ? --> B t o C B d 25
References ✴ W C S I s - l M
a ✴ M n A C - G K ✴ C , a C - v S B d 26
T an Y u ! B d 27