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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ129

์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::opengl ์„ค์น˜ ๋ฐ c++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋™์ž‘ ์›๋ฆฌ intro ↓ ํ˜„์žฌ ๋”ฐ๋ผ๊ฐ€๊ณ  ์žˆ๋Š” ์ฑ…์ธ Opengl๋กœ ๋ฐฐ์šฐ๋Š” ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ์ฑ…์—์„œ ์‹ค์Šต ์˜ˆ์ œ๋“ค๋กœ๋Š” GLUT๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์„ค์น˜ ์ค‘ ๋‚˜๋Š” ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ์™€ ์œ ํˆฌ๋ธŒ๋ฅผ ์ฐธ๊ณ ํ•˜๋˜ ์ค‘ ๋‚˜๋Š” Visual Studio์— GLUT๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ , GLFW ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•จ์ˆ˜๋“ค์ด ๋‹ค๋ฅธ๊ฑธ ๋งค๋ฒˆ ๋ฐ”๊ฟ”์„œ ๋‚ด๊ฐ€ ํ•˜๊ธฐ๋Š” ๋œ์ปฅ ๊ฒ์ด ๋‚˜์„œ GLUT๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ๊ผญ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์„ค์ •์„ ํ•ด์•ผ๊ฒ ๋‹ค ํ•˜๋˜ ์ค‘, ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์˜ ์ฐจ์ด๊ฐ€ ๋ญ”์ง€, (์ฑ…์—๋Š” GLFW ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์„ค๋ช…์ด ์ผ์ฒด ์—†์—ˆ๋‹ค.) ์•Œ์•„๋ณด๋Š”๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™์•„ ์กฐ์‚ฌํ•˜๋˜ ์ค‘ ์•„๋ž˜ ๋ธ”๋กœ๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. https://toughrogrammer.tistory.com/206 ์ด ๋ธ”๋กœ๊ทธ์—์„œ ํ•˜๋Š” ๋ง์„ ์•ฝ๊ฐ„ ์š”์•ฝํ•˜์ž๋ฉด, ์‚ฌ๋žŒ๋“ค์ด GLUT.. 2020. 7. 11.
OpenGL๋กœ ๋ฐฐ์šฐ๋Š” 3์ฐจ์› ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::4์žฅ&์—ฐ์Šต๋ฌธ์ œ โ— 4์žฅ ์—ฐ์Šต ๋ฌธ์ œ 1. ๊ทธ๋ž˜ํ”ฝ ๋ถ„์•ผ์˜ ISO ํ‘œ์ค€ ์ค‘ ํ•˜๋‚˜์ธ PHIGS์—๋Š” ๊ตฌ์กฐ์ฒด ๊ฐœ๋…์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.(True/False) 2. API๋Š” ํ”„๋กœ๊ทธ๋žจ ์–ธ์–ด๋‹ค.(True/False) 3. ๊ณ ์ˆ˜์ค€ API๋Š” ์žฅ๋ฉด ๋ฌ˜์‚ฌ ์œ„์ฃผ๋กœ, ๊ตฌ์ฒด์  ๋ Œ๋”๋ง ๋ฐฉ์‹์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค.(True/False) 4. ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ํ…Œ์ด๋ธ”์€ ๋ถˆํ•„์š”ํ•˜๋‹ค.(True/False) 5. ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์กฐ์—์„œ ์„œ๋ธŒ ํ”„๋กœ์„ธ์„œ์˜ ๋…ผ๋ฆฌ๋Š” ํ•˜๋“œ์›จ์–ด์ ์œผ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค. (True/False) 6. ์ง€์—˜์ด C ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด๋ผ๋ฉด GLU๋Š” ์ง€์—˜์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด๋‹ค.(True/False) // ๋‚ด ์ƒ๊ฐ์€ ์ง€์—˜์€ ์ € ์œ„์—์„œ Cํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœํ•ด์„œ ๋ถˆ๋ฆฌ๋Š”๊ฒŒ ๋งž๋Š”๋ฐ, GLU๋Š” GL์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด ์•„๋‹ˆ๋ผ GL์ด GLU์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด๋‹ค. ๊ทธ๋ž˜์„œ.. 2020. 7. 9.
Android:: RelativeLayout ๊ณผ ConstraintLayout์˜ ์ฐจ์ด โ— ConstraintLayout RelativeLayout์˜ "์ƒ๋Œ€์  ์œ„์น˜ ๊ด€๊ณ„์— ๋”ฐ๋ฅธ ๋ฐฐ์น˜" ํŠน์„ฑ + LinearLayout์˜ "๊ฐ€์ค‘์น˜(weight)๊ฐ€ ๊ฐ€์ง„ ์žฅ์ " + chain ์‚ฌ์šฉ์œผ๋กœ ๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ ์—†์ด "์š”์†Œ๋“ค์„ ๊ทธ๋ฃนํ™”" - ConstraintLayout๋Š” ์„ฑ๋Šฅํ–ฅ์ƒ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค → ์Šˆํ‰์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃฐ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—! - ConstraintLayout๋Š” ๋ ˆ์ด์•„์›ƒ์— ๋ฐฐ์น˜๋˜๋Š” ๋ทฐ๋“ค์— ์—ฌ๋Ÿฌ ์ œ์•ฝ(Constraint)์„ ์ ์šฉํ•˜์—ฌ ๊ฐ ๋ทฐ์˜ ์œ„์น˜์™€ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ • โ— ConstraintLayout์†์„ฑ ๋ฐ ์„ค๋ช… ์†์„ฑ ์„ค๋ช… layout_constraintLeft_toLeftOf ๋ทฐ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ ๋ทฐ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ์— ๋งž์ถค layout_constraintLeft_toRightOf ๋ทฐ์˜ ์™ผ์ชฝ ์‚ฌ์ด๋“œ๋ฅผ ๋Œ€์ƒ.. 2020. 7. 7.
Android:: TableLayout ๊ณผ GridLayout์˜ ์ฐจ์ด์™€ ๊ณ„์‚ฐ๊ธฐ View ๋งŒ๋“ค๊ธฐ 1) Table Layout๊ณผ GridLayout ์ฐจ์ด ๊ทธ๋ฆฌ๋“œ๋Š” fill์ด๋ž‘ span ์ด์šฉํ•ด์„œ ์…€ ๋ณ‘ํ•ฉ ์ˆ˜ํ–‰ // row, column, ์ธ๋ฑ์Šค ์ ‘๊ทผ ํŒ”๋ ˆํŠธ์—์„œ ๋Œ์–ด ์“ฐ๊ธฐ ๊ฐ€๋Šฅ. ํ…Œ์ด๋ธ”์€ weight๋ž‘ span ์ด์šฉํ•˜์—ฌ ์…€ ๋ณ‘ํ•ฉ ์ˆ˜ํ–‰ // ์˜ ๋ฐ˜๋ณต,๋ฐ์ดํ„ฐ ์–‘์ด ์ ์€ ๊ฒฝ์šฐ์— ์œ ์šฉ. ํ…Œ์ด๋ธ” ๋ ˆ์ด์•„์›ƒ์€ ๋ชจ๋“ ํ–‰์ด ์ธ์Šคํ„ด์Šคํ™” (tablerow) ๋˜์–ด์•ผ ํ•˜๊ณ , ์žฌํ™œ์šฉ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ‘œ์‹œํ•  ๋ฐ์ดํ„ฐ ์ ์€ ๊ฒฝ์šฐ ์œ ์šฉ. ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์€ ํ•ญ๋ชฉ์„ ๊ทธ๋ฆฌ๋“œ์— ๋ฐฐ์—ดํ•˜๋Š” ๋ฆฌ์ŠคํŠธ๋ทฐ์™€ ๊ฐ™๋‹ค. ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์˜ ๋ชฉ์ ์€, ์–ด๋Œ‘ํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ํ‘œ์‹œ๋œ ๊ฐ ํ•ญ๋ชฉ์„ ํƒ์ƒ‰ํ•˜๊ณ  ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋™์ผํ•œ UI์˜ ๊ฒฝ์šฐ GridLayout์€ ์ผ๋ฐ˜์ ์œผ๋กœ TableLayout๋ณด๋‹ค ๋น ๋ฅด๊ณ  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ ๊ฒŒ ์†Œ์š”๋œ๋‹ค 2) Tabl.. 2020. 7. 7.
OpenGL๋กœ ๋ฐฐ์šฐ๋Š” 3์ฐจ์› ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::3์žฅ&์—ฐ์Šต๋ฌธ์ œ โ— 3์žฅ ์—ฐ์Šต๋ฌธ์ œ 1. ๋ฐฑ์ƒ‰๊ด‘์—๋Š” ๋ชจ๋“  ๊ฐ€์‹œ๊ด‘์„ ์˜ ๋ชจ๋“  ์ฃผํŒŒ์ˆ˜ ์„ฑ๋ถ„์ด ๋™์ผํ•œ ์–‘์œผ๋กœ ๋ถ„ํฌํ•œ๋‹ค. (True/False) 2. RGB ์ปฌ๋Ÿฌ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋กœ ๋ชจ๋“  ์ž์—ฐ์ƒ‰์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. (True/False) 3. ์…ฐ์ด๋”ฉ์„ ๊ฐ€ํ•˜๋ฉด ์ฑ„๋„๊ฐ€ ๊ฐ์†Œํ•˜๋ฉฐ, ํ‹ดํŒ…์„ ๊ฐ€ํ•˜๋ฉด ์ฑ„๋„๊ฐ€ ์ฆ๊ฐ€ํ•œ๋‹ค. (True/False) // ์ฑ„๋„๋Š” ๋‘˜๋‹ค ๊ฐ์†Œ 4. ์ธ๋ฑ์Šค ์ปฌ๋Ÿฌ ๋ชจ๋“œ๋ฅผ ์ ์šฉํ•˜๋”๋ผ๋„ ํ•œ ํ™”๋ฉด์— ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ปฌ๋Ÿฌ ์ˆ˜๋Š” ํ”„๋ ˆ์ž„ ๋ฒ„ํผ ์šฉ๋Ÿ‰์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค. (True/False) // ์ปฌ๋Ÿฌ ์ˆ˜ ์ž์ฒด๋Š” ํ”„๋ ˆ์ž„ ๋ฒ„ํผ ์šฉ๋Ÿ‰์— ๋”ฐ๋ฅธ๋‹ค. 5. ์ธ๋ฑ์Šค ์ปฌ๋Ÿฌ ๋ชจ๋“œ์—์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ‰์ƒ์€ ํ”„๋ ˆ์ž„ ๋ฒ„ํผ ์š”๋Ÿ‰๊ณผ ๋ฌด๊ด€ํ•˜๋‹ค. (True/False) // ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ‰์ƒ์€ CLUT์— 6. ๋””๋”๋ง ๊ฒฐ๊ณผ ์‹ค์งˆ์  ํ•ด์ƒ๋„๋Š” ์ค„์–ด๋“ ๋‹ค. (Tru.. 2020. 7. 5.
OpenGL๋กœ ๋ฐฐ์šฐ๋Š” 3์ฐจ์› ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::2์žฅ&์—ฐ์Šต๋ฌธ์ œ โ— 2์žฅ ์—ฐ์Šต๋ฌธ์ œ 1) ๋ž˜์Šคํ„ฐ ์žฅ์น˜๋Š” ๋ฌดํ•œ ํ•ด์ƒ๋„๋ฅผ, ๋ฒกํ„ฐ ์žฅ์น˜๋Š” ์œ ํ•œ ํ•ด์ƒ๋„๋ฅผ ๋ณด์žฅํ•œ๋‹ค.(True/False) -> ๋ž˜์Šคํ„ฐ ์žฅ์น˜๊ฐ€ ์œ ํ•œ ํ•ด์ƒ๋„, ๋ฒกํ„ฐ ์žฅ์น˜๋Š” ๋ฌดํ•œ ํ•ด์ƒ๋„์ด๋‹ค. ๋ž˜์Šคํ„ฐ ์žฅ์น˜์˜ ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋ฆผ์„ ํ™”์†Œ ๋‹จ์œ„๋กœ ํ‘œ์‹œํ•˜๊ธฐ ๋•Œ ๋ฌธ์— ์—์ผ๋ฆฌ์–ด์‹ฑ์ด ์ผ์–ด๋‚œ๋‹ค. ๋ฒกํ„ฐ๊ทธ๋ž˜ํ”ฝ์žฅ์น˜๋Š” ๋ฌดํ•œ ํ•ด์ƒ๋„๋ฅผ ์ง€๋‹Œ ์„ ์œผ๋กœ ๋ฌ˜์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌดํ•œ ํ•ด์ƒ๋„๋ฅผ ์ง€๋‹Œ๋‹ค. 2) ๋…ผ-์ธํ„ฐ๋ ˆ์ด์‹ฑ์—์„œ ํ™”๋ฉด ์žฌ์ƒ์œจ์ด 60Hz์ธ ์žฅ์น˜๋Š” ์ธํ„ฐ๋ ˆ์ด์‹ฑ์œผ๋กœ ๋งํ•˜๋ฉด 30Hz ์„ฑ๋Šฅ์ด๋‹ค.(True/False) -> ๋…ผ-์ธํ„ฐ ํ™”๋ฉด์žฌ์ƒ๋ฅ  30Hz == ์ธํ„ฐ ํ™”๋ฉด์žฌ์ƒ๋ฅ  60hz์ด๋‹ค. 3) ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์žฅ์น˜์—์„œ๋„ ํ”„๋ ˆ์ž„ ๋ฒ„ํผ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. (True/False) -> ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์žฅ์น˜๋Š” ํ”„๋ ˆ์ž„ ๋ฒ„ํผ ๋Œ€์‹  ๋””์Šคํ”Œ๋ ˆ์ด ๋ฆฌ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 4) ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ ์žฅ์น˜์˜ ๋””์Šคํ”Œ.. 2020. 7. 3.
OpenGL๋กœ ๋ฐฐ์šฐ๋Š” 3์ฐจ์› ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค::1์žฅ&์—ฐ์Šต๋ฌธ์ œ1 โ— 1์žฅ ์—ฐ์Šต๋ฌธ์ œ 1. ์ธํ„ฐ๋„ท ๊ฒ€์ƒ‰์œผ๋กœ ์˜์ƒ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง(Image-Based Rendering)์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์ •์˜ํ•ด๋ณด๋ผ. : ์˜์ƒ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง์ด๋ž€, 1990๋…„๋Œ€ ์ค‘๋ฐ˜๋ถ€ํ„ฐ ์—ฐ๊ตฌ๋˜๊ธฐ ์‹œ์ž‘ํ•œ ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค์˜ ํ•œ ๋ถ„์•ผ์ธ๋ฐ, ๊ฐ€์ƒ๊ณต๊ฐ„์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋ณธ๋‹จ์œ„๋กœ ์˜์ƒ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ์˜์ƒ์œผ๋กœ๋ถ€ํ„ฐ 3์ฐจ์› ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๋Š” ์ปดํ“จํ„ฐ ๋น„์ „๋ถ„์•ผ์™€ 3์ฐจ์›๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ์˜์ƒ์„ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค๊ฐ€ ๊ฒฐํ•ฉํ•œ ํ˜•ํƒœ์ด๋‹ค. 2. ์–ด๋„๋น„์‚ฌ์˜ ๋Œ€ํ‘œ์ ์ธ ์˜์ƒ ์ฒ˜๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด๋กœ๋Š” ํฌํ† ์ƒต์„, ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์†Œํ”„ํŠธ์›จ์–ด๋กœ๋Š” ์ผ๋Ÿฌ์ŠคํŠธ๋ ˆ์ดํ„ฐ๋ฅผ ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฉ”๋‰ด๋ฅผ ์˜ˆ๋กœ๋“ค์–ด ์˜์ƒ์ฒ˜๋ฆฌ์™€ ๊ทธ๋ž˜ํ”ฝ์Šค์˜ ์ฐจ์ด์ ์„ ์ •์˜ํ•ด๋ณด๋ผ. : ์˜์ƒ์ฒ˜๋ฆฌ๋ž€ ๊ธฐ์กด์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฐœ์„ ํ•˜๊ฑฐ๋‚˜ ์ธ์‹ํ•˜๋Š” ๋ถ„์•ผ, ๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋Š” ์•„๋ฌด๋Ÿฐ ์ž…๋ ฅ์ด ์—†์–ด๋„ ๊ทธ๋ฆผ.. 2020. 7. 3.
Android::Layout 1) Layout(๋ ˆ์ด์•„์›ƒ) ์ด๋ž€ ๋ ˆ์ด์•„์›ƒ์€ ์•ฑ์—์„œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์œ„ํ•œ ๊ตฌ์กฐ ( ์˜ˆ: Activity)๋ฅผ ์ •์˜ํ•œ๋‹ค. ๋ ˆ์ด์•„์›ƒ์˜ ๋ชจ๋“  ์š”์†Œ๋Š” View์™€ ViewGroup ๊ฐ์ฒด์˜ ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œ๋œ๋‹ค. View๋Š” (์ผ๋ฐ˜์ ์œผ๋กœ) ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ณ  ์ƒํ˜ธ์ž‘์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๊ทธ๋ฆฐ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ View ๊ฐ์ฒด๋Š” '์œ„์ ฏ'์ด๋ผ๊ณ  ํ•˜๊ณ , ์—ฌ๋Ÿฌ ํ•˜์œ„ ํด๋ž˜์Šค ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ๋กœ Button, Textview๊ฐ€ ์žˆ๋‹ค. ViewGroup์€ View์™€ ๋‹ค๋ฅธ ViewGroup๊ฐ์ฒด์˜ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ํˆฌ๋ช… ์ปจํ…Œ์ด๋„ˆ์ด๋‹ค. Viewgroup๊ฐ์ฒด๋Š” ๋Œ€๊ฒŒ '๋ ˆ์ด์•„์›ƒ'์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , ๋‹ค์–‘ํ•œ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ์‹œ๋กœ LinearLayout, ConstraintLayout์ด ์žˆ๋‹ค... 2020. 7. 2.
Android::Manifest 1. Manifest๋ž€? ๋ชจ๋“  ์•ฑ ํ”„๋กœ์ ํŠธ๋Š” ํ”„๋กœ์ ํŠธ ์†Œ์Šค ์„ธํŠธ์˜ ๋ฃจํŠธ์— AndroidManifest.xml ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋ฉ”๋‹ˆํŒจ์ŠคํŠธ ํŒŒ์ผ์€ Android ๋นŒ๋“œ ๋„๊ตฌ, Android ์šด์˜์ฒด์ œ ๋ฐ Google play์— ์•ฑ์— ๊ด€ํ•œ ํ•„์ˆ˜ ์ •๋ณด๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ(์•กํ‹ฐ๋น„ํ‹ฐ, ์„œ๋น„์Šค, ์ฝ˜์ฒธ์ธ  ๊ณต๊ธ‰์ž, ๋ธŒ๋กœ๊ทธ์บ์ŠคํŠธ ์ˆ˜์‹ ์ž) ์— ๋Œ€ํ•œ ๋…ธ๋“œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ธํ…ํŠธ ํ•„ํ„ฐ(Intent Filter)์™€ ๊ถŒํ•œ(Permission) ์„ ์‚ฌ์šฉํ•ด ์ด๋“ค์ด ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๋˜ํ•œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์•„์ด์ฝ˜์ด๋‚˜ ํ…Œ๋งˆ๋“ฑ์˜)๋ฅผ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•œ ์†์„ฑ์„ ๋น„๋กฏํ•ด, ๋ณด์•ˆ ์„ค์ •๊ณผ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€์ ์ธ ์ตœ์ƒ์˜ ๋…ธ๋“œ ์—ญ์‹œ ์ œ๊ณต.. 2020. 7. 1.