๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โœ’๏ธ Android/Android Studio21

[Android] 21. ์œ„์ ฏ : ์ด๋ฏธ์ง€ ๋ทฐ์™€ ์ด๋ฏธ์ง€ ๋ฒ„ํŠผ # ์œ„์ ฏ : ์ด๋ฏธ์ง€ ๋ทฐ์™€ ์ด๋ฏธ์ง€ ๋ฒ„ํŠผ # ์œ„์ ฏ : ์ด๋ฏธ์ง€ ๋ทฐ : ๊ทธ๋ฆผ์„ ์ถœ๋ ฅํ•˜๋Š” ์œ„์ ฏ์œผ๋กœ, ๊ทธ๋ฆผ์„ ์ฒจ๋ถ€ํ•˜๊ฑฐ๋‚˜ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•  ๋•Œ ์ด์šฉ + ์ด๋ฏธ์ง€ ๋ทฐ์—์„œ ์‚ฌ์šฉํ•  ๊ทธ๋ฆผ ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ์˜ [res]-[drawable] ํด๋”์— ์ €์žฅ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ --> ์ด๋ฏธ์ง€๋กœ์˜ ์ ‘๊ทผ์€ XML์—์„œ "@drawable/๊ทธ๋ฆผ ์•„์ด๋””" ํ˜•์‹์œผ๋กœ ์ ‘๊ทผ --> ํŒŒ์ผ์˜ ํฌ๋ฉง์€ png, jpg, gif๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜์ง€๋งŒ png, jpg ํ˜•์‹์„ ๊ถŒ์žฅ - ์ด๋ฏธ์ง€ ๋ทฐ/๋ฒ„ํŠผ์˜ XML ์†์„ฑ src ์ด๋ฏธ์ง€์˜ ๊ฒฝ๋กœ maxHeight / maxWidth ์ด๋ฏธ์ง€ ํฌ๊ธฐ ์ง€์ • scaleType ์ด๋ฏธ์ง€์˜ ํ™•๋Œ€ ๋ฐ ์ถ•์†Œ ๋ฐฉ์‹ ์ง€์ • + scaleType์˜ ๊ฒฝ์šฐ center, fitEnd, fitStrart, matrix ๋“ฑ์˜ ์†์„ฑ๊ฐ’์ด ์กด์žฌํ•˜๋ฉฐ, ์ง€์ •๋œ ๊ฐ’.. 2023. 1. 12.
[Android] 20. ์œ„์ ฏ : ์ปดํŒŒ์šด๋“œ ๋ฒ„ํŠผ (Compound Button) # ์œ„์ ฏ : ์ปดํŒŒ์šด๋“œ ๋ฒ„ํŠผ (Compound Button) # ์œ„์ ฏ : ์ปดํŒŒ์šด๋“œ ๋ฒ„ํŠผ (Compound Button) - Compound Button ํด๋ž˜์Šค : Button ํด๋ž˜์Šค์˜ ํ•˜์œ„ ํด๋ž˜์Šค๋กœ ์ฒดํฌ ๋ฐ•์Šค๋‚˜ ๋ผ๋””์˜ค ๋ฒ„ํŠผ, ์Šค์œ„์น˜ ๋ฐ ํ† ๊ธ€ ๋ฒ„ํŠผ์˜ ์ƒ์œ„ ํด๋ž˜์Šค์ด๋‹ค. - ์ฒดํฌ ๋ฐ•์Šค : ํด๋ฆญํ•  ๋•Œ๋งˆ๋‹ค ์ƒํƒœ๊ฐ€ ์–ธ์ฒดํฌ, ์ฒดํฌ๋กœ ๋ณ€๊ฒฝ๋จ --> ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฒดํฌ ๋ฐ•์Šค๊ฐ€ ์žˆ์–ด๋„ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•˜์—ฌ ๋™์‹œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ•์Šค๋ฅผ ์ฒดํฌํ•  ์ˆ˜ ์žˆ๋‹ค. + ์ฒดํฌ & ์–ธ์ฒดํฌ ๋ณ€๊ฒฝ ์‹œ Kotlin ์ฝ”๋“œ์˜ ์ฒ˜๋ฆฌ ์ ˆ์ฐจ โ‘  ์ฒดํฌ ๋ฐ•์Šค ๋ณ€์ˆ˜ ์„ ์–ธ var mycheck : CheckBox โ‘ก ์ƒ์„ฑํ•œ ๋ณ€์ˆ˜์— ์ฒดํฌ๋ฐ•์Šค ์œ„์ ฏ์„ ๋Œ€์ž… mycheck = findViewByid(R.id.android) โ‘ข ์ฒดํฌ ๋ฐ•์Šค ๋ณ€๊ฒฝ ์‹œ ๋™์ž‘ํ•˜๋Š” ๋žŒ๋‹ค์‹ ์ •์˜ my.. 2023. 1. 11.
[Android] 19. ์œ„์ ฏ : ์—๋””ํŠธ ํ…์ŠคํŠธ(Edit Text) ์™€ ๋ฒ„ํŠผ # ์—๋””ํŠธ ํ…์ŠคํŠธ(Edit Text) ์™€ ๋ฒ„ํŠผ # ์—๋””ํŠธ ํ…์ŠคํŠธ(Edit Text) ์™€ ๋ฒ„ํŠผ : ์‚ฌ์šฉ์ž์—๊ฒŒ์„œ ํŠน์ • ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ์œ„์ ฏ์œผ๋กœ, ๋ชจ๋‘ View์™€ TextView ํด๋ž˜์Šค๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค. - ์—๋””ํŠธ ํ…์ŠคํŠธ(Edit Text) : ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์€ ํ›„ ํ•ด๋‹น ๊ฐ’์„ Kotlin ์ฝ”๋“œ์—์„œ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉํ•˜๋Š” ์šฉ๋„๋กœ ์ด์šฉ ex) ์ผ๋ฐ˜์ ์ธ ์—๋””ํŠธ ํ…์ŠคํŠธ์˜ XML ์ฝ”๋“œ - ์—๋””ํŠธ ํ…์ŠคํŠธ(Edit Text)์˜ ์†์„ฑ โ‘  hint ์†์„ฑ : ํด๋ฆญ ์‹œ ์‚ฌ๋ผ์ง€๋Š” ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ž‘์„ฑ ๊ฐ€๋Šฅ โ‘ก inputType ์†์„ฑ : ์†์„ฑ๊ฐ’์— ์ž…๋ ฅ๋˜๋Š” ์˜ต์…˜์— ๋”ฐ๋ผ ํ‚ค๋ณด๋“œ์˜ ๋ชจ์–‘ ๋ณ€๊ฒฝ + ์ž…๋ ฅ ๊ฐ€๋Šฅํ•œ ์˜ต์…˜ [number] ์ˆซ์ž ํ˜•์‹ [numberPassword] ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ [phone] ์ „ํ™”๋ฒˆํ˜ธ ํ˜•์‹ [textEmail.. 2023. 1. 10.
[Android] 18. ์œ„์ ฏ : XML ์ฐธ๊ณ (์—˜๋ฆฌ๋จผํŠธ, ์ฃผ์„๋ฌธ), ํ…์ŠคํŠธ๋ทฐ # ์œ„์ ฏ : XML ์ฐธ๊ณ (์—˜๋ฆฌ๋จผํŠธ, ์ฃผ์„๋ฌธ), ํ…์ŠคํŠธ๋ทฐ # ์œ„์ ฏ : XML ์ฐธ๊ณ (์—˜๋ฆฌ๋จผํŠธ, ์ฃผ์„๋ฌธ) - ์—˜๋ฆฌ๋จผํŠธ(element) : root element๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ child element๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ž์† ์—˜๋ฆฌ๋จผํŠธ๋„ ํ•˜๋‚˜ ์ด์ƒ์˜ subchild element๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ + empty element : ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ์—˜๋ฆฌ๋จผํŠธ + ์—˜๋ฆฌ๋จผํŠธ๋Š” ๋‹ค์ˆ˜์˜ ์†์„ฑ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ ์†์„ฑ์€ ์†์„ฑ๋ช…๊ณผ ์†์„ฑ๊ฐ’์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค. - ์ฃผ์„๋ฌธ : xml ๋ฌธ์„œ์˜ ์ฃผ์„๋ฌธ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฒ˜๋ฆฌํ•œ๋‹ค. # ์œ„์ ฏ : ํ…์ŠคํŠธ๋ทฐ : View class ๋ฐ”๋กœ ๋‹ค์Œ์— ์œ„์น˜ํ•˜๋ฉฐ, ๋งŽ์€ ์œ„์ ฏ์ด ํ•˜์œ„์— ์กด์žฌ - ํ…์ŠคํŠธ ๋ทฐ์˜ ์†์„ฑ_text ์†์„ฑ : ํ…์ŠคํŠธ ๋ทฐ์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๋Š” ์†์„ฑ --> "๋ฌธ์ž์—ด" ํ˜•์‹์œผ๋กœ ๊ฐ’์„ ์ง์ ‘ ์ž…๋ ฅ.. 2023. 1. 10.
[Android] 17. ๋ ˆ์ด์•„์›ƒ : ์ปจ์ŠคํŠธ๋ ˆ์ธํŠธ ๋ ˆ์ด์•„์›ƒ(Constraint Layout) ์‹ค์Šต(2)๊ณผ ์ฒด์ด๋‹, ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์˜ ํ™œ์šฉ # ๋ ˆ์ด์•„์›ƒ : ์ปจ์ŠคํŠธ๋ ˆ์ธํŠธ ๋ ˆ์ด์•„์›ƒ(Constraint Layout) ์‹ค์Šต(2)๊ณผ ์ฒด์ด๋‹, ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์˜ ํ™œ์šฉ # ๋ ˆ์ด์•„์›ƒ : ์ปจ์ŠคํŠธ๋ ˆ์ธํŠธ ๋ ˆ์ด์•„์›ƒ(Constraint Layout) ์‹ค์Šต(2) 5. ๋‹ค๊ตญ์–ด ์ถ”๊ฐ€ํ•˜๊ธฐ โ‘  Translations Editor ์˜คํ”ˆ ํ›„ ์ง€๊ตฌ ๋ชจ์–‘ ์•„์ด์ฝ˜ ํด๋ฆญ โ‘ก ์›ํ•˜๋Š” ์–ธ์–ด๋ฅผ ์ฐพ์•„ ์ถ”๊ฐ€ํ•œ ๋’ค Default Value, ๋นˆ์นธ ์ฑ„์›Œ์ฃผ๊ธฐ 6. ์ œ์•ฝ ์ˆ˜์ •ํ•˜๊ธฐ โ‘  ์•„๋ž˜์ชฝ ์›์„ ํด๋ฆญํ•˜์—ฌ ์ œ์•ฝ ์‚ญ์ œ - > ํ•˜๋‹จ ์ œ์•ฝ์„ ์‚ญ์ œํ•˜๋ฉด ํ…์ŠคํŠธ ๋ทฐ๊ฐ€ ์ƒ๋‹จ์œผ๋กœ ์˜ฌ๋ผ๊ฐ„๋‹ค. โ‘ก ์ ๋‹น ๊ฐ„๊ฒฉ ์œ ์ง€๋ฅผ ์œ„ํ•ด ์ƒ๋‹จ์˜ ์—ฌ๋ฐฑ์„ 16์œผ๋กœ ์„ค์ • --> โ‘ ๋ฒˆ ๊ทธ๋ฆผ๋ณด๋‹ค ์—ฌ๋ฐฑ์ด ๋Š˜์–ด๋‚œ ๊ฒƒ์„ ํ™•์ธ 7. ๋ฒ„ํŠผ ๋ฐฐ์น˜ํ•˜๊ธฐ โ‘  ๋ ˆ์ด์•„์›ƒ ํ™”๋ฉด์˜ ํŒ”๋ ˆํŠธ ์ฐฝ์—์„œ Button์„ ์„ ํƒํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ์˜ ์ •์ค‘์•™์— ๋ฐฐ์น˜ โ‘ก ๋ฐฐ์น˜ํ•œ ๋ฒ„ํŠผ์„ ํด๋ฆญ.. 2023. 1. 10.
[Android] 16. ๋ ˆ์ด์•„์›ƒ : ์ปจ์ŠคํŠธ๋ ˆ์ธํŠธ ๋ ˆ์ด์•„์›ƒ(Constraint Layout) ๊ฐœ์š” ๋ฐ ์‹ค์Šต(1), ์•กํ‹ฐ๋น„ํ‹ฐ(Activity) # ๋ ˆ์ด์•„์›ƒ : ์ปจ์ŠคํŠธ๋ ˆ์ธํŠธ ๋ ˆ์ด์•„์›ƒ(Constraint Layout) ๊ฐœ์š” ๋ฐ ์‹ค์Šต(1), ์•กํ‹ฐ๋น„ํ‹ฐ(Activity) # ๋ ˆ์ด์•„์›ƒ : ์ปจ์ŠคํŠธ๋ ˆ์ธํŠธ ๋ ˆ์ด์•„์›ƒ(Constraint Layout) ๊ฐœ์š” ๋ฐ ์‹ค์Šต(1) : ์•ˆ๋“œ๋กœ์ด๋“œ์˜ ๊ธฐ๋ณธ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ, ํ™”๋ฉด์— ๋ฐฐ์น˜๋˜๋Š” ์œ„์ ฏ๋“ค ์‚ฌ์ด ๊ฐ„๋‹จํ•œ ์ œ์•ฝ์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. --> ์ƒ๋Œ€ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ์ด ๊นŠ์œผ๋ฉฐ, ์ฃผ์–ด์ง„ ์œ„์ ฏ์„ ํƒ€ ์œ„์ ฏ์— ์ƒ๋Œ€์ ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. - ๋ ˆ์ด์•„์›ƒ ์—๋””ํ„ฐ์˜ ๊ธฐ๋ณธ ํ™”๋ฉด ํŒ”๋ ˆํŠธ ์ฐฝ ๋ ˆ์ด์•„์›ƒ ๋””์ž์ธ ์‹œ ํ•„์š”ํ•œ ๋ทฐ ์ œ๊ณต ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ ์ฐฝ ๋ ˆ์ด์•„์›ƒ์˜ ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ UI ํŽธ์ง‘(๋””์ž์ธ) ์ฐฝ ๋ทฐ๋ฅผ ๋ฐฐ์น˜ํ•˜์—ฌ ๋ ˆ์ด์•„์›ƒ์„ ์ž‘์„ฑํ•˜๋Š” ํ™”๋ฉด ์†์„ฑ ์ฐฝ ์†์„ฑ์„ ์„ค์ •ํ•˜๋Š” ์ฐฝ + UI ํŽธ์ง‘์ฐฝ์˜ ๊ฒฝ์šฐ Design, BluePr.. 2023. 1. 9.