๐Ÿ“ฑ App Development Study/Android

[The ์นœ์ ˆํ•œ ์ฝ”ํ‹€๋ฆฐ ์•ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ] Chapter01 ์ •๋ฆฌ

ibelieveinme 2022. 4. 4. 10:32
728x90

2011๋…„์— ํƒœ์–ด๋‚˜์„œ 2017๋…„์— ์•ˆ๋“œ๋กœ์ด๋“œ์— ์ ์šฉ๋จ(Java๋Œ€์ฒด์ œ).

 

1. Kotlin ์žฅ์ 

1) ๋„ ์•ˆ์ •์„ฑ

2) ๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ

3) ์„ธ๋ฏธ์ฝœ๋ก  ์ƒ๋žต

4) ๋žŒ๋‹ค์‹

5) ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๋ณธ ์–ธ์–ด

 

[The ์นœ์ ˆํ•œ ์ฝ”ํ‹€๋ฆฐ ์•ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ] ๊ฐ•์˜ ์ปค๋ฆฌํ˜๋Ÿผ

์ฒซ์งธ ๋งˆ๋‹น. ๋ง›๋ณด๊ธฐ๋กœ ์•ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ

๋‘˜์งธ ๋งˆ๋‹น. ์•ฑ์˜ ํ™”๋ฉด์„ ๋งŒ๋“ค๋ฉด์„œ ์ฝ”ํ‹€๋ฆฐ ๊ธฐ๋ณธ๊ฐœ๋… ์ตํžˆ๊ธฐ

์…‹์งธ ๋งˆ๋‹น. ์˜ํ™” ์•ฑ ๋งŒ๋“ค๊ธฐ


๋‘˜์งธ๋งˆ๋‹น. ์•ฑ์˜ ํ™”๋ฉด์„ ๋งŒ๋“ค๋ฉด์„œ ์ฝ”ํ‹€๋ฆฐ ๊ธฐ๋ณธ๊ฐœ๋… ์ตํžˆ๊ธฐ

 

๋‘˜์งธ๋งˆ๋‹น 1์žฅ

[Android Studio ๊ธฐ๋ณธ ์šฉ์–ด ์ •๋ฆฌ]

- activity xml ํŒŒ์ผ: desigin ํ™”๋ฉด, blueprint ํ™”๋ฉด

- Gradle ํŒŒ์ผ: build.gradle(Project: Basic), build.gradle(Module: Basic.app)

 

[์ฝ”๋“œ ์ž‘์„ฑ ์ „, ์ค€๋น„์‚ฌํ•ญ]

1) build.gradle(Module: Basic.app) ํŒŒ์ผ์˜ plugins ๋ถ€๋ถ„์— ์•„๋ž˜ kotlin ๊ตฌ๋ฌธ ์ถ”๊ฐ€.

plugins{
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
}

2) Setting ์ฐฝ์—์„œ auto import -> Kotlin ์ชฝ ์ฒดํฌ์ฒดํฌ. -> sync now ๋˜๋Š” ์ฝ”๋ผ๋ฆฌ ๋ฒ„ํŠผ์œผ๋กœ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋ฐ˜์˜.

 

[์ฝ”๋“œ ๋™์ž‘ ๊ณผ์ •]

: ์•ฑ ํ™”๋ฉด์— ๋†“์ธ widget & layout์€ id๋กœ ์†Œ์Šค์ฝ”๋“œ์—์„œ ์—ฐ๊ฒฐ๋œ๋‹ค.

1) xml ํ™”๋ฉด์— button ๋“ฑ์˜ UI ์•„์ดํ…œ์„ ํ•˜๋‚˜ ๋งŒ๋“ค๋ฉด id๊ฐ€ ๋ถ€์—ฌ๋จ.
2) ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ UI๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ์ฒดํ™”๋จ. (์ธํ”Œ๋ ˆ์ด์…˜. ๋ฉ”๋ชจ๋ฆฌ ๊ฐ์ฒดํ™”.)

3) ์†Œ์Šค์ฝ”๋“œ์—์„œ id๋กœ ์ฐพ์•„์„œ ๊ฐ์ฒด์— ๊ธฐ๋Šฅ์„ ๋ถ€์—ฌํ•จ.

 

Tip. xml์—์„œ ๋งŒ๋“  ๊ฐ์ฒด์˜ id๋ฅผ ์“ฐ๊ณ  import ํ•ด์ค˜์•ผ ํ•จ...! (import kotlinx.android.synthetic.main.activity_main.* ์ถ”๊ฐ€)

Java์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๊ณ  findViewById๋กœ ์ฐพ์•˜์—ˆ๋Š”๋ฐ Kotlin์—์„œ๋Š” import๋ฌธ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฑ id๋ฅผ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐํ•ด์ฃผ๋‹ˆ ๋งค์šฐ ๊น๋”ด:)

 

[์—๋Ÿฌ ํ™•์ธ ๋ฐฉ๋ฒ•]

์ฝ”๋“œ์—๋Ÿฌ๋Š” ๋ฐ”๋กœ ํ™•์ธ ๊ฐ€๋Šฅํ•œ๋ฐ, ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค๋ฉด(๋น„์ •์ƒ ์ข…๋ฃŒ) Logcat์—์„œ ํ™•์ธ. 

 

[Layout ์ข…๋ฅ˜์™€ ์†์„ฑ]

- LinearLayout: ์„ธ๋กœ or ๊ฐ€๋กœ๋กœ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด์•„์›ƒ. ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฆ„.

- ์†์„ฑ

1) Orientation(๋ฐฉํ–ฅ): Vertical Layout(์„ธ๋กœ๋กœ ์Œ“๊ธฐ) vs Holizontal Layout(๊ฐ€๋กœ๋กœ ์Œ“๊ธฐ)

2) Height, Width: wrap_content(์ž๊ธฐ ํฌ๊ธฐ๋งŒํผ ์ฑ„์šฐ๊ธฐ) vs match_parent(๋ถ€๋ชจํฌ๊ธฐ๋งŒํผ ์ฑ„์šฐ๊ธฐ)

 

 

๋‘˜์งธ๋งˆ๋‹น 2์žฅ

1. ? ๊ธฐํ˜ธ๋Š” ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š”๊ฐ€.

 

[๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“œ๋Š” ํ˜•์‹]

ํ˜•์‹ var <๋ณ€์ˆ˜์ด๋ฆ„>:<์ž๋ฃŒํ˜•> = <์ดˆ๊ธฐ๊ฐ’>
์˜ˆ์ œ var name:String = ""

 

...ing....

 

 

 

 

 

 

 

 

728x90