λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’» Programming/Android Developer AtoZ

[Android] App Components (1) - μ•ˆλ“œλ‘œμ΄λ“œ 4λŒ€ μ»΄ν¬λ„ŒνŠΈ

by 기무정 2025. 2. 28.
728x90

 

 

 

μ•ˆλ“œλ‘œμ΄λ“œ 앱을 κ΅¬μ„±ν•˜λŠ”λ° ν•„μš”ν•œ 4개의 μš”μ†Œλ₯Ό μ•ˆλ“œλ‘œμ΄λ“œ 4λŒ€ μ»΄ν¬λ„ŒνŠΈ 라고 μΌμ»«μŠ΅λ‹ˆλ‹€. μ•ˆλ“œλ‘œμ΄λ“œ μ•±μ˜ ν•„μˆ˜μ μΈ κ΅¬μ„±μš”μ†Œλ‘œ, 각각은 μ‹œμŠ€ν…œμ΄λ‚˜ 앱에 λ“€μ–΄μ˜¬ 수 μžˆλŠ” μ§„μž…μ μž…λ‹ˆλ‹€.

μ•ˆλ“œλ‘œμ΄λ“œ 4λŒ€ μ»΄ν¬λ„ŒνŠΈμ—λŠ” μ•‘ν‹°λΉ„ν‹°(Activity), μ„œλΉ„μŠ€(Service), λΈŒλ‘œλ“œμΊμŠ€νŠΈ λ¦¬μ‹œλ²„(Broadcase Receiver), μ½˜ν…μΈ  제곡자(Content Provider)κ°€ μžˆμŠ΅λ‹ˆλ‹€.

 

4λŒ€ μ»΄ν¬λ„ŒνŠΈλŠ” λ‹€μŒκ³Ό 같은 곡톡적인 νŠΉμ§•μ„ κ°€μ§‘λ‹ˆλ‹€.

  • 각 μ»΄ν¬λ„ŒνŠΈλŠ” λ…λ¦½μ μœΌλ‘œ μ‘΄μž¬ν•©λ‹ˆλ‹€.
  • 각 μ»΄ν¬λ„ŒνŠΈλŠ” 고유의 κΈ°λŠ₯을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.
  • 각 μ»΄ν¬λ„ŒνŠΈλŠ” Intentλ₯Ό 톡해 μ„œλ‘œ μƒν˜Έμž‘μš© ν•©λ‹ˆλ‹€.

 

μ΄μ–΄μ„œ 각 μ»΄ν¬λ„ŒνŠΈμ— λŒ€ν•΄ κ°„λ‹¨νžˆ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

 

 

Activity

ActivityλŠ” μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€(UI)λ₯Ό κ΅¬μ„±ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈλ‘œ, ν•˜λ‚˜μ˜ 화면을 λ‹΄λ‹Ήν•˜λ©° μ‚¬μš©μžκ°€ μƒν˜Έμž‘μš©ν•  수 μžˆλŠ” μš”μ†Œλ“€μ„ ν¬ν•¨ν•©λ‹ˆλ‹€.

(μ°Έκ³  [Android] App Components (2) - Activity μ™„λ²½ κ°€μ΄λ“œ)

 

Service

λ°±κ·ΈλΌμš΄λ“œ μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜μ§€ μ•Šμ§€λ§Œ, λ‹€λ₯Έ μ•±μ˜ μš”μ²­μ„ μ²˜λ¦¬ν•˜κ±°λ‚˜ 지속적인 μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

 

Broadcast Receiver

μ‹œμŠ€ν…œ λ©”μ‹œμ§€λ‚˜ μ•± κ°„μ˜ λ°œμ‹ λœ 방솑을 μˆ˜μ‹ ν•˜κ³  μ²˜λ¦¬ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€.

 

Content Provider

μ•± 간에 데이터λ₯Ό κ³΅μœ ν•˜κ³  μ ‘κ·Όν•  수 있게 ν•˜λŠ” μ»΄ν¬λ„ŒνŠΈμž…λ‹ˆλ‹€. λ‹€λ₯Έ 앱이 νŠΉμ • 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ 쑰회, μΆ”κ°€, μˆ˜μ •, μ‚­μ œν•  수 μžˆλ„λ‘ APIλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

 


 

μ•ˆλ“œλ‘œμ΄λ“œ 개발자 λ‘œλ“œλ§΅μ„ 따라 μ •λ¦¬ν•œ λ‚΄μš©μž…λ‹ˆλ‹€.

 

 

 

728x90