๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿซ | 2024 Android ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„/โ™Ÿ | ์‚ฌ์ „์บ ํ”„

[Android, ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„] ์‚ฌ์ „์บ ํ”„ ๋ฐ์ผ๋ฆฌ ๋ฏธ์…˜ (2)

by immgga 2024. 5. 8.

์‚ฌ์ „์บ ํ”„ 2, 3, 4๋ ˆ๋ฒจ: ์šฉ์–ด ์ •๋ฆฌํ•˜๊ธฐ

  •  IDE
IDE(ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ): ์ฝ”๋”ฉ, ๋””๋ฒ„๊ทธ, ์ปดํŒŒ์ผ, ๋ฐฐํฌ ๋“ฑ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ ๋ชจ๋“  ์ž‘์—…์„ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด.
๋””๋ฒ„๊ทธ: ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์‹œ์Šคํ…œ์˜ ๋…ผ๋ฆฌ์ ์ธ ์˜ค๋ฅ˜๋‚˜ ๋น„์ •์ƒ ์—ฐ์‚ฐ(๋ฒ„๊ทธ)์„ ์ฐพ์•„๋‚ด๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •
์ปดํŒŒ์ผ: ์ฃผ์–ด์ง„ language๋กœ ์ž‘์„ฑ๋œ ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๋™๋“ฑํ•œ ํ”„๋กœ์„ธ์Šค๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค.
  • ์ปจ๋ฒค์…˜
convention์€ ๊ด€์Šต, ๋Œ€ํšŒ, ์กฐ์•ฝ ๋“ฑ์˜ ๋œป์„ ๊ฐ€์ง€๋Š” ์˜๋‹จ์–ด์ด๋‹ค.
๊ฐœ๋ฐœ์—์„œ์˜ ์ปจ๋ฒค์…˜์€: ๊ฐœ๋ฐœํŒ€์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ณ  ์œ ์ง€ ๋ณด์ˆ˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ผ๋ จ์˜ ๊ทœ์น™๊ณผ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๋œปํ•จ.
  • ์ž๋ฃŒํ˜•
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๋ณ€์ˆ˜ ๋˜๋Š” ๊ฐ’์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜.
  • ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜
๋ณ€์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์žฅ์†Œ์ด๋‹ค. ๊ฐ’์„ ์–ธ์ œ๋“ ์ง€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.
์ฒ˜์Œ์— ์ •์˜ํ•œ ๊ฐ’์ด ๋ณ€ํ•˜๊ฒŒ ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์ƒ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.
  • ๋ฉ”์„œ๋“œ
method๋Š” ์ผ์ •ํ•œ ๊ณ„ํš์— ๋”ฐ๋ฅธ ๋ฐฉ๋ฒ•, ๊ฒฉ์‹๊ณผ ์ •์—ฐ์— ๋”ฐ๋ฅธ ์ˆœ์„œ๋ฅผ ๋œปํ•˜๋Š” ์˜๋‹จ์–ด์ด๋‹ค
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜ method๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ณ  ์žˆ์„ ๋•Œ, ํด๋ž˜์Šค์—์„œ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค์™€ ๊ด€๋ จ๋œ ๋™์ž‘์„ ํ•˜๋Š” ๊ณณ.
์ธ์Šคํ„ด์Šค: ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค, ํด๋ž˜์Šค์— ํ˜„์žฌ ์ƒ์„ฑ๋œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ํด๋ž˜์Šค
class๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” template์˜ ์ผ์ข….
๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜๋งŽ์€ ๊ฐ์ฒด(object)๋กœ ๋‚˜๋ˆ„๊ณ , ์ด๋“ค์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์„œ์ˆ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„๋ฐฉ๋ฒ•๋ก ์˜ ์ผ์ข…์œผ๋กœ ๋ช…๋ นํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์†ํ•œ๋‹ค.
  • ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ(Navtive App)
๋””๋ฐ”์ด์Šค์— ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์•ฑ.
  • ์›น ์•ฑ(Web App)
์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ.
  • ๋ฒ„๊ทธ(Bug)
์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๊ฑฐ๋‚˜, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜, ์ฐฉ์˜ค๋‚˜ ์˜ค์ž‘๋™์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค.
  • ์—๋Ÿฌ(Error)
'๋ฐฉํ™ฉํ•˜๋Š”'์ด๋ผ๋Š” ๋œป์˜ ๋ผํ‹ด์–ด(error)์—์„œ ์œ ๋ž˜๋œ ๋‹จ์–ด
๋ถ€์ •ํ™•ํ•˜๊ฑฐ๋‚˜ ์œ ํšจํ•˜์ง€ ์•Š์€ ๋™์ž‘.
  • ์˜ˆ์™ธ์ฒ˜๋ฆฌ
Exception Handling ๋˜๋Š” Trouble Shooting์ด๋ž€ ์‹คํ–‰ ํ๋ฆ„์ƒ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ์˜ค๋ฅ˜๋ฅผ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ์˜ค๋ฅ˜์— ๋Œ€์‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์‹œํ•˜๋Š” ๊ฐœ๋…์ด๋‚˜ ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ.
์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ์˜ ๋™์ž‘์„ ๋”ฐ๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•จ.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(Library)
ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ์˜ Library๋Š” ๋ฏธ๋ฆฌ ์ง€์‹/๊ธฐ๋Šฅ๋“ค์„ ๋ชจ์•„๋‘” ์ง‘ํ•ฉ์†Œ์—์„œ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๊ธฐ๋ก๋œ ์ฝ”๋“œ๋ฅผ ๋นผ์™€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ.
์‚ฌ์šฉ์ž A๊ฐ€ ์ž‘์„ฑํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ A๋ฅผ ์‚ฌ์šฉ์ž B๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ A๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ.
  • ํ”„๋ ˆ์ž„์›Œํฌ(Framework)
Framework๋Š” frame(ํ‹€)์ด๋ž‘ word(์ผ)์˜ ํ•ฉ์„ฑ์–ด๋กœ ๊ทธ๋Œ€๋กœ ๋œป์„ ์ด์–ด ๋ถ™์ด๋ฉด ํ‹€์„ ๊ฐ€์ง€๊ณ  ์ผํ•œ๋‹ค์˜ ๋œป์ด ๋˜๋Š”๋ฐ,
๋ง ๊ทธ๋Œ€๋กœ ์ œ๊ณต๋ฐ›์€ ์ผ์ •ํ•œ ์š”์†Œ์™€ ํ‹€, ๊ทœ์•ฝ์„ ๊ฐ€์ง€๊ณ  ๋ฌด์–ธ๊ฐ€๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋œปํ•จ.
  • ํผ๋ธ”๋ฆฌ์‹ฑ
publishing(์ถœํŒ)์€ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž(์›น, ์•ฑ ๊ฐœ๋ฐœ์ž)๊ฐ€ ๋””์ž์ธ๋œ ์ด๋ฏธ์ง€๋ฅผ ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋””์ž์ธ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ.
  • UI(User Interface)
์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜๋Š” ๋ฉด.
์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ๋Š” ๋งค๊ฐœ์ฒด.
์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์•ฑ์˜ ํ™”๋ฉด์„ UI๋ผ๊ณ  ๋ถ€๋ฆ„.
  • UX(User Experience)
์‚ฌ์šฉ์ž ๊ฒฝํ—˜์˜ ์•ฝ์–ด๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋Š๋ผ๋Š” ๋งŒ์กฑ๊ฐ์„ ๋œปํ•จ.
UX ๋””์ž์ธ์ด๋ž€ ์‚ฌ์šฉ์ž๊ฐ€ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋งŒ์กฑ์Šค๋Ÿฌ์šด ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก UI๋ฅผ ๋””์ž์ธํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•จ.
  • ํด๋ผ์ด์–ธํŠธ
๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ์ œ๊ณต๋ฐ›๋Š” ์ปดํ“จํ„ฐ.
๊ฒŒ์ž„์„ ์˜ˆ๋กœ ๋“ค๋ฉด, ๊ฒŒ์ž„์— ๋ฐ์ดํ„ฐ(์œ ์ € ์ •๋ณด)๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ ์žˆ๋‹ค๋ฉด ์„œ๋ฒ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์„ ํด๋ผ์ด์–ธํŠธ๋ผ๊ณ  ํ•œ๋‹ค.
  • API
Application Programming Interface(API)๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์šด์˜ ์ฒด์ œ๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  Interface์ด๋‹ค.
ํŠน์ • ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ์„ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค๋„ ์‰ฝ๊ฒŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด๋‘” ๊ฒƒ์ด๋ผ๊ณ  ๋‚˜๋Š” ์ดํ•ด ์ค‘.
  • ์•ˆ๋“œ๋กœ์ด๋“œ 4๋Œ€ ์ปดํฌ๋„ŒํŠธ
Android์˜ 4๋Œ€ ์ปดํฌ๋„ŒํŠธ๋Š” Activity, Service, Broadcast Reciver, Content Provider๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  1. Activity: ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ๋‹ด๋‹น
  2. Service: ์„œ๋น„์Šค์˜ background์—์„œ ๋™์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค
  3. Broadcast Reciver: Android OS(์„œ๋น„์Šค)์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ์ข… ์ด๋ฒคํŠธ์™€ ์ •๋ณด๋ฅผ ๋ฐ›์•„ handling ํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ
  4. Content Provider: ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋‹ค๋ฅธ Application์— ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ
  • AVD(Android Virtual Device)
Android Virtual Device๋Š” ํœด๋Œ€์ „ํ™”์˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์œผ๋กœ, ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๊ณ  Android์˜ ๊ธฐ๋Šฅ๋“ค์„ ๋ชจ๋ฐฉํ•œ๋‹ค.
์ปดํ“จํ„ฐ ์•ˆ์— ์žˆ๋Š” ๊ฐ€์ƒ ๊ธฐ๊ธฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ข‹๋‹ค.
  • SDK(Software Development Kit)
sdk๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ‚ท(๋„๊ตฌ)์œผ๋กœ, ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ปค์Šคํ…€ ์•ฑ์„ ์ œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ ๋ชจ์Œ.
  • ์•ˆ๋“œ๋กœ์ด๋“œ Layout
ViewGroup์˜ ์ผ์ข…์œผ๋กœ, ๋‹ค๋ฅธ ๋ทฐ๋“ค์„ ๋‚ด๋ถ€์— ๋ฐฐ์น˜ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
Layout์„ ์ ์ ˆํžˆ ๋ฐฐ์น˜ํ•ด์„œ ๋‹ค์–‘ํ•œ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. 
  • ์•ˆ๋“œ๋กœ์ด๋“œ View
View๋Š” ์•ฑ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฐ๊ฐ์˜ ํ™”๋ฉด ์š”์†Œ๋ฅผ ์˜๋ฏธํ•จ
์•ฑ์—์„œ ํ”ํžˆ ๋ณผ ์ˆ˜ ์žˆ๋Š” Button, Text ๋“ฑ์ด View์— ํ•ด๋‹นํ•จ.

 

์ตœ๋Œ€ํ•œ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด๋ณด๋ ค ํ•ด๋„ ํž˜๋“ค๋‹ค ใ…Žใ…Ž..

728x90

๋Œ“๊ธ€