๐Ÿ”ฅTIL๐Ÿ”ฅ์ŠคํŒŒ๋ฅดํƒ€ | ์•ˆ๋“œ๋กœ์ด๋“œ

hyihyiยท2023๋…„ 12์›” 18์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
21/70
post-thumbnail

-์Šคํƒ ๋‹ค๋“œ 1์ฃผ์ฐจ ๊ฐ•์˜
<1์ฃผ์ฐจ ์ˆ˜์—…>

-Activity๋ž€?

์•ˆ๋“œ๋กœ์ด๋“œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ์š”์†Œ

-LifeCycle์ด๋ž€?

onCreate ํƒœ์–ด๋‚˜์„œ / ๋ ˆ์ด์•„์›ƒ ์„ค์ •, ์—ฐ๊ฒฐ, ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •(ํ…Œ๋งˆ)
onStart ์‹œ์ž‘๋˜๊ณ  / ์ค€๋น„๊ฐ€ ๋์ง€๋งŒ ๋ณด์ด์ง€๋Š” ์•Š์Œ
onResume / ์ƒํ˜ธ ์ž‘์šฉํ•  ์ค€๋น„๊ฐ€ ์™„๋ฃŒ
Activity Running ํ™”๋ฉด์—์„œ ํ„ฐ์น˜๋ฅผ ํ•˜๊ฑฐ๋‚˜ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ
onPause ์•„์ฃผ ์ž ์‹œ ๋ฉˆ์ถค / ์ƒํ˜ธ์ž‘์šฉํ•˜์ง€ ์•Š์„ ๋–„
onStop ์™„์ „ํžˆ ๋ฉˆ์ถค / ๋” ์ด์ƒ ํ™”๋ฉด์— ๋ณด์ด์ง€ ์•Š์„ ๋•Œ
onDestroy / ์™„์ „ํžˆ ์ข…๋ฃŒ

์•ˆ๋“œ๋กœ์ด๋“œ์˜ ๋ฉ€ํ‹ฐ ์œˆ๋„์šฐ : onResume / onPause

-Life Cycle์ด ์™œ ํ•„์š”ํ•œ๊ฐ€?

  1. ์‹œ์Šคํ…œ์—์„œ ๋ฆฌ์†Œ์Šค๋“ค์˜ ํšจ์œจ์ ์ธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด
  2. ์‹ค์‹œ๊ฐ„์œผ๋กœ ์‹œ๊ฐ„์ด ๋ฐ”๋€” ๋•Œ ์ƒˆ๋กœ๊ณ ์นจ์„ ๋ˆ„๋ฅด์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ํ•˜๋ฉด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์ด ํ–ฅ์ƒ๋œ๋‹ค
  3. ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ
  4. ์•ˆ์ •์„ฑ ๋ฐ ๋ณด์•ˆ
  5. ์‹œ์Šคํ…œ๊ณผ์˜ ์ƒํ˜ธ์ž‘์šฉ
  6. ์œ ์—ฐํ•œ UI/UX ๋””์ž์ธ

Q . AppCompatActivity๋ฅผ ์ƒ์†๋ฐ›๋Š” ์ด์œ 

Compat โ†’ Compatibility : ํ˜ธํ™˜์„ฑ
: Android ์•ฑ ๊ฐœ๋ฐœ์—์„œ์˜ ํ˜ธํ™˜์„ฑ๊ณผ ์ตœ์‹  ๊ธฐ๋Šฅ์˜ ์ง€์›์„ ์œ„ํ•ด ์‚ฌ์šฉ

  • AppCompatActivity์˜ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๊ธฐ๋Šฅ
    1) ์•ก์…˜ ๋ฐ” : Android 3.0๋ถ€ํ„ฐ ๋„์ž…
    2) ํ…Œ๋งˆ์™€ ์Šคํƒ€์ผ ํ˜ธํ™˜์„ฑ : Android 5.0๋ถ€ํ„ฐ ๋„์ž…
    3) ํ”„๋ž˜๊ทธ๋จผํŠธ ์ง€์› : Android 3.0๋ถ€ํ„ฐ ๋„์ž…
    4) ๋Ÿฐํƒ€์ž„ ๊ถŒํ•œ ์š”์ฒญ ์ฒ˜๋ฆฌ : Android 6.0๋ถ€ํ„ฐ ๋„์ž…, ํŠน์ • ๊ธฐ๋Šฅ(์นด๋ฉ”๋ผ, ์—ฐ๋ฝ์ฒ˜ ์ ‘๊ทผ)์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ถŒํ•œ ์š”์ฒญ
    5) ๋‹ค์–‘ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ํ—ฌํผ ๋ฉ”์†Œ๋“œ : Android 5.0๋ถ€ํ„ฐ ๋„์ž…, ๋„ค๋น„๊ฒŒ์ด์…˜ ๋“œ๋กœ์–ด, ์Šค๋‚ต๋ฐ”, ํ”Œ๋กœํŒ… ์•ก์…˜ ๋ฒ„ํŠผ
    Ex) FragmentActivity๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์žˆ์ง€๋งŒ FragmentActivity๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ฒ„์ „์—์„œ๋„ FragmentActivity๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ˜ธํ™˜์„ฑ์„ ๋†’์—ฌ์คŒ

AppCompatActivity๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜• ๋ฒ„์ „์˜ Android์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์•ฑ์˜ ํ˜ธํ™˜์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ด

-๋กœ๊ทธ

Info ์ •๋ณด์„ฑ
Verbose ์ˆ˜๋‹ค์Ÿ์ด, ๋งŽ์€ ์ •๋ณด

ํ…Œ๋งˆ(์ผ๋ฐ˜โ†”๋‹คํฌ)๊ฐ€ ๋ฐ”๋€Œ๋ฉด?
โ†’๋‹ค์‹œ ํŒŒ๊ดด๋๋‹ค๊ฐ€ ์ƒ์„ฑ๋จ

๋ฉ€ํ‹ฐ์œˆ๋„์šฐ๋Š” ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ

object๋Š” ํด๋ž˜์Šค ๋Œ€์‹ ์— ์”€
โ†’์‹ฑ๊ธ€ํ†ค ํŒจํ„ด(์ „์—ญ๋ณ€์ˆ˜ ์“ฐ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์“ฐ๋ฉด ๋จ)
Collections.kt๋Š” ์ž์ฃผ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์ข…์ข… ๋ณด์ž
For๋ฌธ ๋Œ€์‹ ์— ์“ธ ์ˆ˜ ์žˆ๋Š” ํŽธ๋ฆฌํ•œ ๊ฒƒ

-๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

1์ฐจ์ ์œผ๋กœ๋Š” ์‹ฑ๊ธ€ํ†ค

-Intent

๋ฉ”์‹œ์ง€ ์‹œ์Šคํ…œ
์„œ๋น„์Šค : ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋น ์ ธ๋„ ์‹คํ–‰๋จ
์•กํ‹ฐ๋น„ํ‹ฐ : ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋น ์ง€๋ฉด ์‹คํ–‰ ์•ˆ ๋จ
1) ๋ช…์‹œ์  ์ธํ…ํŠธ
๋ณด๋‚ด๋Š” ๋Œ€์ƒ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉ
2) ์•”์‹œ์  ์ธํ…ํŠธ
ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์•ฑ์— ์ „์†ก
startActivityForResult ๋ฐฉ์‹์€ ๊ตฌ์‹
ActivityResultLauncher (API ๋ ˆ๋ฒจ 30๋ถ€ํ„ฐ ๊ถŒ์žฅ)

๋ฆฌ์Šค๋„ˆ๋“ค๋„ ์ข…๋ฅ˜๊ฐ€ ๋˜๊ฒŒ ๋งŽ๋‹ค
ํด๋ฆญ/ํ„ฐ์น˜ ๋ฆฌ์Šค๋„ˆ๋Š” ๋‹ค๋ฅด๋‹ค
? ์—ฐ์‚ฐ์ž๋ฅผ ์ž์ฃผ ์“ฐ์ž
์•ฑ์ด ์ €์ „๋ ฅ ์ƒํƒœ๊ฐ€ ๋์„ ๋•Œ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋ฅผ ํ•˜๋ฉด ์ „์ฒด ์•ฑ์— ์•Œ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๊ธ‰ํ•˜๊ฒŒ ์ €์žฅํ•  ๋ฐ์ดํ„ฐ๋“ค์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ

profile
๋‚ด๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์“ฐ๋Š” ๋ธ”๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€