[ANDROID] μ•‘ν‹°λΉ„ν‹° μƒνƒœ λ³€κ²½
μ•ˆλ“œλ‘œμ΄λ“œ 2020. 3. 12. 23:00

κ°œμš” μ•‘ν‹°λΉ„ν‹°μ˜ μƒνƒœμ— λŒ€ν•΄ μ΄ν•΄ν•œλ‹€. μ•‘ν‹°λΉ„ν‹°μ˜ μƒνƒœ 변경을 μœ λ°œν•˜λŠ” μ΄λ²€νŠΈμ— λŒ€ν•΄ νŒŒμ•…ν•œλ‹€. μ•‘ν‹°λΉ„ν‹°μ˜ μƒνƒœ 변경이 일어났을 λ•Œμ˜ λ³€ν™”λ₯Ό μ΄ν•΄ν•œλ‹€. μ•‘ν‹°λΉ„ν‹° κ΅¬μ„±μ˜ λ³€κ²½ μ•‘ν‹°λΉ„ν‹°μ˜ ꡬ성이 λ³€ν•  수 μžˆλŠ” μ—¬λŸ¬ μ΄λ²€νŠΈκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€. μ•„λ§ˆλ„ κ°€μž₯ 많이 μΌμ–΄λ‚˜λŠ” μ˜ˆλ‘œλŠ” μ„Έλ‘œ λͺ¨λ“œμ™€ κ°€λ‘œ λͺ¨λ“œκ°„ λ°©ν–₯ 변화일 κ²ƒμž…λ‹ˆλ‹€. λ§Œμ•½ ꡬ성변경이 λ°œμƒν•˜λ©΄ μ•‘ν‹°λΉ„ν‹°λŠ” 제거되고 μ™„μ „νžˆ μƒˆλ‘œ μƒμ„±λ©λ‹ˆλ‹€. 즉, onPause(), onStop() 및 onDestory() 콜백 λ©”μ„œλ“œκ°€ 호좜이 λ˜λŠ”λ° μ΄λŸ¬ν•œ 상황이 μΌμ–΄λ‚˜λ©΄ μœ μ§€λ˜κ³  있던 UI μƒνƒœλ₯Ό μ™„μ „νžˆ μžƒκ²Œ λ©λ‹ˆλ‹€. UI μƒνƒœλ₯Ό μœ μ§€ν•˜κΈ° μœ„ν•΄μ„œλŠ” ViewModel, onSaveInstanceState() λ©”μ„œλ“œ λ˜λŠ” 영ꡬ 둜컬 μ €μž₯μ†Œμ˜ 쑰합을 ν™œμš©ν•΄μ•Όλ§Œ ν•©λ‹ˆλ‹€. μ–΄λ– ν•œ 방법을..

[ANDROID] μ•ˆλ“œλ‘œμ΄λ“œ 4λŒ€ μ»΄ν¬λ„ŒνŠΈ
μ•ˆλ“œλ‘œμ΄λ“œ 2020. 2. 26. 00:38

μ•ˆλ“œλ‘œμ΄λ“œ 4λŒ€ μ»΄ν¬λ„ŒνŠΈλž€? 4λŒ€ μ»΄ν¬λ„ŒνŠΈλŠ” μ•ˆλ“œλ‘œμ΄λ“œ μ•±μ˜ ν•„μˆ˜μ μΈ κΈ°λ³Έ ꡬ성 μš”μ†Œμž…λ‹ˆλ‹€. 각 ꡬ성 μš”μ†ŒλŠ” μ‚¬μš©μžλ“€μ΄ μ•±μœΌλ‘œ λ“€μ–΄μ˜¬ 수 μžˆλŠ” μ§„μž…μ μ΄λ©°, 4λŒ€ μ»΄ν¬λ„ŒνŠΈλŠ” 크게 μ•‘ν‹°λΉ„ν‹°, μ„œλΉ„μŠ€, Broadcast Receiver, μ½˜ν…μΈ  제곡자둜 이루어져 μžˆμŠ΅λ‹ˆλ‹€. 각 μ»΄ν¬λ„ŒνŠΈλ“€μ€ 각기 λšœλ ·ν•œ λͺ©μ μ„ μˆ˜ν–‰ν•˜κ³ , μžκΈ°λ“€λ§Œμ˜ 수λͺ… μ£ΌκΈ°κ°€ μ‘΄μž¬ν•˜μ—¬ κ°œλ°œμžκ°€ 생성 및 μ†Œλ©Έ 방식을 직접 μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ•‘ν‹°λΉ„ν‹° μ•‘ν‹°λΉ„ν‹°λŠ” μ‚¬μš©μžμ™€ μƒν˜Έμž‘μš©ν•˜κΈ° μœ„ν•œ μ§„μž…μ μž…λ‹ˆλ‹€. μ•‘ν‹°λΉ„ν‹°λŠ” UIκ°€ ν¬ν•¨λœ ν™”λ©΄ ν•˜λ‚˜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. μ—¬λŸ¬ μ•‘ν‹°λΉ„ν‹°κ°€ λͺ¨μ—¬μ„œ μ‚¬μš©μžμ—κ²Œ ν•˜λ‚˜μ˜ 앱을 μ œκ³΅ν•˜μ§€λ§Œ, λͺ¨λ“  μ•‘ν‹°λΉ„ν‹°λŠ” 각자 μ„œλ‘œ λ…λ¦½λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 이유 λ•Œλ¬Έμ— λͺ¨λ°”일 μ•±μ—μ„œ λ‹€λ₯Έ λͺ¨λ°”일 앱이 ν—ˆμš©μ„ ν•œλ‹€λ©΄ κ·Έ 앱이 μ†Œμœ ν•œ μ•‘ν‹°λΉ„ν‹°λ₯Ό..