1. Context λ
- μ¬μ μ μλ―Έλ‘μ context λ
- λ§₯λ½, λ¬Έλ§₯
- μ ν μ¬μ μ μλ―Έν¨


μλλ‘μ΄λμμμ context
Context | API reference | Android Developers
developer.android.com
μλλ‘μ΄λ 곡μ λ¬Έμμ μ ν context μ μ
- μ ν리μΌμ΄μ μ€ν νκ²½μ λν μ μ μ 보μ μ κ·ΌνκΈ° μν μΈν°νμ΄μ€
- μλλ‘μ΄λ μμ€ν μ΄ μ 곡ν΄μ£Όλ μΆμ ν΄λμ€λ₯Ό μλ―Έ
- μ ν리μΌμ΄μ
μ 리μμ€μ ν΄λμ€μ μ κ·Όν μ μκ² ν΄μ£Όλ©° activity μ€ν, λΈλ‘λμΊμ€ν
, intent μμ λ± μ ν리μΌμ΄μ
λ¨κ³μ api νΈμΆμμ
μ κ°λ₯νκ² ν΄μ€.
- context κ° μμΌλ©΄ .....
- μ± ν¨ν€μ§ μ 보 μ κ·Ό κ°λ₯
- νμΌ μμ€ν κ²½λ‘ μ κ·Ό κ°λ₯
- resources (R.string, R.drawable λ±) μ κ·Ό κ°λ₯
- μμ€ν μλΉμ€ (μλ¦Ό, μ§λ, λ€νΈμν¬ λ±) μμ² κ°λ₯
- Application κ°μ²΄ μ κ·Ό κ°λ₯
context λ₯Ό μ¬μ©νλ μ΄μ
- μλλ‘μ΄λκ° μλ νλ«νΌ(ex. iOS, Window)μμλ μ§μ μ μΌλ‘ μμ€ν ν¨μλ₯Ό νΈμΆν΄ μμ€ν μμ μ μννκ±°λ μ§μ μ ν리μΌμ΄μ μ μ κ·Ό κ°λ₯ν¨. (os κ³μ κΈ°λ°μ΄λΌμ μ±λ€μ "os μ¬μ©μ κΆν"μ κ·Έλλ‘ μμ λ°μ)
- μλλ‘μ΄λλ "μ± > νλ μ μν¬(android μμ μλ application framework λ μ΄μ΄) > μμ€ν μλΉμ€ > OS" ꡬ쑰λΌμ, μ±μ΄ νΉμ μμ€ν μλΉμ€λ₯Ό μ¨λ λλμ§ μΌμΌμ΄ νλ μμν¬κ° κ²μ¦ (λ§€λνμ€νΈ κΆν μ μΈ, λ°νμ κΆν μμ², context λ‘ μμ€ν μλΉμ€ μ κ·Ό λ±) νλ μ μ°¨ νμ
νλ‘μΈμ€μ μ΄ν리μΌμ΄μ μ κ΄κ³
- μΌλ°μ μΌλ‘ νλ‘κ·Έλ¨μ΄λ μμ§ μ€νλμ§ μμ κ² -> λ©λͺ¨λ¦¬ ν λΉ λ°μ -> νλ‘μΈμ€κ° λ¨.
- μ ν리μΌμ΄μ = νλ‘κ·Έλ¨
- λ€λ₯Έ νλ«νΌμμλ νλ‘μΈμ€μ μ ν리μΌμ΄μ (νλ‘κ·Έλ¨)μ΄ μ§μ μ°κ²°λΌμ μ ν리μΌμ΄μ μ€νμ νλ‘μΈμ€ μμ±λ¨. λν μ ν리μΌμ΄μ μ΄ μ’ λ£λλ©΄ νλ‘μΈμ€ μ¬λΌμ§.
- μ΄λ κ² λλ©΄ μ ν리μΌμ΄μ μμ²΄κ° νλ‘μΈμ€μ μ°κ²°λμ΄ λμνκΈ° λλ¬Έμ λ§€κ°μ²΄μμ΄ μ§μ μ μΌλ‘ μ ν리μΌμ΄μ κ³Ό κ΄λ ¨ μμ μνκ°λ₯.
μλλ‘μ΄λμμμ νλ‘μΈμ€μ μ΄ν리μΌμ΄μ
- BUT, μλλ‘μ΄λμ κ²½μ° νλ‘μΈμ€μ μ ν리μΌμ΄μ μ΄ λ°λ‘ κ΄λ¦¬λ¨.
- μλλ‘μ΄λ νλ μμν¬ > μ ν리μΌμ΄μ (μ»΄ν¬λνΈ) μλͺ μ£ΌκΈ° κ΄λ¦¬
- μλλ‘μ΄λ os (리λ μ€ μ»€λ) > νλ‘μΈμ€ μμ±/μ’ λ£, λ©λͺ¨λ¦¬, μ€μΌμ€λ§
- μ΄μ λ°λΌ μ ν리μΌμ΄μ μ΄ μ’ λ£λΌλ νλ‘μΈμ€ μλ©Έλμ§ μμ μ μμ !!
- μλλ‘μ΄λλ 리λ μ€ κΈ°λ°μΌλ‘, κ° μ ν리μΌμ΄μ λ§λ€ κ³ μ μ UID(User ID) λ₯Ό λΆμ¬ν¨.
- μ¦, μ± νλνλκ° λ 립λ μ¬μ©μμ²λΌ λμνλ©°, μκΈ° νλ‘μΈμ€ λ°μ μμμ μ λ 건λ릴 μ μμ. μ΄λ context κ° μ λΆμ¦ μν μ ν¨μΌλ‘μ¨ μ±μ΄ μμ€ν μμμλ μ κ·Όν μ μκ² ν΄μ€.
- μλλ‘μ΄λλ μ±μ μ€νν λ λͺ¨λ μμ€ν λ° μ± νλ‘μΈμ€μ λ£¨νΈ μν μ νλ android μ΄μ체μ μ νλ‘μΈμ€μΈ zygote λ₯Ό 볡μ ν΄μ μ€νν¨. μ΄μ λ°λΌ νλ‘μΈμ€ λ΄μ μ ν리μΌμ΄μ μ€μ μ 보λ₯Ό μ£Όμ λ°λ κ³Όμ μ΄ νμμ
- μλλ‘μ΄λ os κ° λ©λͺ¨λ¦¬ λΆμ‘±ν λ context μ μ°κ²°λ μ»΄ν¬λνΈ μνλ₯Ό λ³΄κ³ νλ‘μΈμ€ μ°μ μμλ₯Ό κ²°μ ν¨.
- μ ꡬλΆνλκ°? λͺ¨λ°μΌ λλ°μ΄μ€ νΈμμ±μ μν¨.
- λͺ¨λ°μΌ νκ²½μμ μ ν리μΌμ΄μ μ μμ£Ό μ§§κ² λ°λ³΅μ μΌλ‘ μ¬μ©λλ©°, λ©λͺ¨λ¦¬ κ³΅κ° μ체λ μ νμ΄ λ§μνΈμ.
- λ°λΌμ λ©ν°νμ€νΉ μμ μ μ μ΄ν리μΌμ΄μ μ λ§€λ² μ€νμν€λλ° μ μ½μ΄ λ°λ¦. > κ²°κ΅ λΆλ¦¬ν¨.

κ²°λ‘
- Context λ μλλ‘μ΄λ νλ μμν¬κ° μ ν리μΌμ΄μ μ μλ³νκ³ κ΄λ¦¬νκΈ° μν΄ μ¬μ©νλ μ€ν νκ²½μ λν μ κ·Ό μΈν°νμ΄μ€
- 컨ν μ€νΈλ₯Ό ν΅ν΄ λ€μμ μ κ·Όν μ μλ€.
- μ ν리μΌμ΄μ 리μμ€ (R.string, R.drawable λ±)
- μμ€ν μλΉμ€ (Notification, Vibrator, Connectivity λ±)
- νμΌ μμ€ν , SharedPreferences
- μ»΄ν¬λνΈ μ€ν (Activity, Service, Broadcast)
- Context = “μ΄ μ½λκ° μ΄λ μ±, μ΄λ νλ©΄, μ΄λ μλͺ μ£ΌκΈ°μμ μ€νλλμ§ μλ €μ€"
- μ ν리μΌμ΄μ μ΄ λμν λ μμ μ΄ ν΄λΉ μ ν리μΌμ΄μ μμ λνλ΄κΈ° μν΄ context λ₯Ό μ¬μ©.
- κ·Έλμ νλ μμν¬λ Contextλ₯Ό κΈ°μ€μΌλ‘:
- μ΄ μμ²μ΄ μ΄λ€ μ±μμ μλμ§
- μ΄ μ±μ΄ μ΄ κΈ°λ₯μ μ¬μ©ν κΆνμ΄ μλμ§
- μ΄ μμ μ΄ νμ¬ μλͺ μ£ΌκΈ°μμ κ°λ₯νμ§
λ₯Ό νλ¨ν μ μμ.
- μλλ‘μ΄λλ μ±μ΄ μ΄μ체μ μ μ§μ ν΅μ νμ§ μκ³ λ°λμ νλ μμν¬λ₯Ό ν΅ν΄μλ§ μμ€ν κΈ°λ₯μ μ κ·Όνλ ꡬ쑰μ.
- κ·Έλμ "λλ μ΄ μ±μ΄κ³ μ§κΈ μ΄ μνμμ μ΄ μμ μ νκ³ μΆλ€" λΌκ³ νλ μμν¬μ μ λ¬νκΈ° μν ν΅λ‘κ° context
context μ’ λ₯
- Application κ³Ό Activity ν΄λμ€λ λͺ¨λ context λ₯Ό μμλ°μ μμκ΄κ³μ.
1. Application context
- μ± μ 체μ νλ‘μΈμ€ μλͺ μ£ΌκΈ°μ μ°κ²°λ λ¨ νλμ μ±κΈν€ 컨ν μ€νΈ
- getApplicationContext() λ©μλ μ¬μ©
- μ±μ΄ μ€νλλ λμ μ¬μ© κ°λ₯.
- UI μκ΄ μμ΄ μ± μ 체μ μ ν¨ν΄μΌ νλ μμ μ μ¬μ©
- μΆκ°μ μΌλ‘, ContextThemeWrapper κ° μκΈ° λλ¬Έμ UI κ΄λ ¨ μμ μ λΆκ°λ₯
2. Activity context (μ»΄ν¬λνΈ λ¨μ)
- UI(Window), ν λ§, μ‘ν°λΉν° μλͺ μ£ΌκΈ° κΈ°λ₯μ΄ μΆκ°λ 컨ν μ€νΈ
- activity context λ₯Ό μ¬μ©ν΄ νΉμ κΈ°λ₯μ μΈμ€ν΄μ€ννλ©΄ μ‘ν°λΉν°κ° μ¬μμ±λ λλ§λ€ λ€μ λ§λ€μ΄μ§.
| κ΅¬λΆ | 곡μ λ¬Έμμ μ£Όμ νΉμ§ | μ ν©ν μμ |
| Activity Context | νΉμ νλ©΄μ μ’ μ, UI κ΄λ ¨ 리μμ€(Theme) 보μ | λ€μ΄μΌλ‘κ·Έ νμ, μ‘ν°λΉν° μμ, λ μ΄μμ μΈνλ μ΄μ |
| Application Context | μ± νλ‘μΈμ€ μ 체μ μ’ μ, UI μμ λΆκ° (μΌλΆ μμΈ μ μΈ) | μ±κΈν€ λΌμ΄λΈλ¬λ¦¬ μ΄κΈ°ν (Retrofit, Room λ±), 곡μ μ μ₯μ (Prefs) μ κ·Ό |
μΆμ²
Context | API reference | Android Developers
developer.android.com
[κ°λ μ½] μλλ‘μ΄λ Context - λ΄μΌλ°°μμΊ ν λΈλ‘κ·Έ
λ΄μΌλ°°μμΊ ν μλ£μμ΄ κ°λ°μ κΌ νμν ν΅μ¬ κ°λ λ§ μ½ μ§μ΄ λ립λλ€. | μΈμ¬μ΄νΈ
nbcamp.spartaclub.kr