๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿคท๐Ÿผ‍โ™€๏ธ Etc.../- C, C++, Python, Android43

[์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค] ์•ˆ๋“œ๋กœ์ด๋“œ ์œ„์ ฏ ๋‹ค๋ฃจ๊ธฐ2 (์ปดํŒŒ์šด๋“œ ๋ฒ„ํŠผ: ์ฒดํฌ๋ฐ•์Šค, ๋ผ๋””์˜ค ๋ฒ„ํŠผ, ์Šค์œ„์น˜/ํ† ๊ธ€ ๋ฒ„ํŠผ) ์ปดํŒŒ์šด๋“œ ๋ฒ„ํŠผ compoundButton ํด๋ž˜์Šค๋Š” Button ํด๋ž˜์Šค์˜ ํ•˜์œ„ ํด๋ž˜์Šค์ด๋‹ค. ๊ทธ ํ•˜์œ„ ๋ชฉ๋ก์—๋Š” CheckBox ToggleButton RadioButton ์ด ์žˆ๋‹ค. ์ด์ œ ์ด ํ•˜์œ„ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. CheckBox ์ฒดํฌ๋ฐ•์Šค๋Š” ํด๋ฆญ๋  ๋•Œ ๋งˆ๋‹ค ์ƒํƒœ๊ฐ€ ์ฒดํฌ ๋˜๋Š” ์–ธ์ฒดํฌ๋กœ ๋ฐ”๋€๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฒดํฌ๋ฐ•์Šค๊ฐ€ ์žˆ์–ด๋„ ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๋™์ž‘ ํ•œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์–ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋™์‹œ์— ์ฒดํฌํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค. ์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ checked์˜ ๊ธฐ๋ณธ default ๊ฐ’์€ false๋ผ๋Š” ์ ... Switch์™€ ToggleButton ์Šค์œ„์น˜์™€ ํ† ๊ธ€ ๋ฒ„ํŠผ์€ ์ƒ๊น€์ƒˆ๋งŒ ๋‹ค๋ฅด๊ณ  ์˜จ/์˜คํ”„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์šฉ๋„๋Š” ๋™์ผํ•˜๋‹ค. RadioButton๊ณผ RadioGroup.. 2020. 4. 30.
[์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค] ์•ˆ๋“œ๋กœ์ด๋“œ ์œ„์ ฏ ๋‹ค๋ฃจ๊ธฐ(TextView, Button, EditText) ์ด์ œ๋ถ€ํ„ฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ์œ„์ ฏ ํ…์ŠคํŠธ๋ทฐ, ๋ฒ„ํŠผ, ์—๋”งํ…์ŠคํŠธ๋ฅผ ๋‹ค๋ฃจ์–ด ๋ณด๊ฒ ๋‹ค. TextView ํ…์ŠคํŠธ๋ฅผ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌธ์ž์—ด ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ์œ„์ ฏ์ด๋‹ค. TextView์— ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. TextView๋ฅผ ์ •์˜ํ•˜๋Š” xml ์†์„ฑ์—์„œ ์ง์ ‘ ๊ฐ’์„ ๋„ฃ๋Š” ๊ฒฝ์šฐ @string/๋ณ€์ˆ˜๋ช… ํ˜•์‹์œผ๋กœ ์ง€์ •ํ•œ ํ›„ string.xml ํŒŒ์ผ์—์„œ ๊ฐ’์„ ๋„ฃ๋Š” ๊ฒฝ์šฐ android studio์—์„œ๋Š” 1๋ฒˆ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค 2๋ฒˆ ๋ฐฉ๋ฒ•์œผ๋กœ ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•˜์ง€๋งŒ ๋‚˜๋Š” ํŽธ์˜์„ฑ์„ ์œ„ํ•ด 1๋ฒˆ์œผ๋กœ ํ†ต์ผํ•˜๊ฒ ๋‹ค!! ์ถ”ํ›„์— 1๋ฒˆ๊ณผ 2๋ฒˆ์— ๋น„๊ต์— ๊ด€ํ•œ ํฌ์ŠคํŒ…์—์„œ ๋‹ค๋ฃจ๊ฒ ๋‹ค. TextView๋ฅผ xml์—์„œ ์กฐ์ž‘ text ํ…์ŠคํŠธ ๋ทฐ์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ž์—ด์„ ํ‘œํ˜„ํ•˜๋ฉฐ ๋ฌธ์ž์—ด ํ˜•์‹์œผ๋กœ ๊ฐ’์„ ์ง์ ‘ ์ง€์ •.. 2020. 4. 30.
[์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค] view์— id๊ฐ’์„ ์ฃผ๊ณ  java์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ. (findViewById๋กœ xml ๊ฐ’ ์ ‘๊ทผํ•˜๊ธฐ.) ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ๋Š” view์™€ controller๊ฐ€ ์ •ํ™•ํžˆ ๊ตฌ๋ถ„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— controller์—์„œ view๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด id๋ฅผ ํ†ตํ•œ ์‹๋ณ„ ํ–‰์œ„๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค. ์˜ค๋Š˜์€ findViewById() ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ controller -> view ์ ‘๊ทผ์„ ํ•ด๋ณผํ…๋ฐ, ๊ทธ ๊ณผ์ •์„ ์ผ๋ จ์˜ ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์ง„ํ–‰ํ•ด๋ณด์ž. ์ด๋Ÿฌํ•œ ๋ชจ๋ฐ”์ผ application์—์„œ button์— id๋ฅผ ์ถ”๊ฐ€์‹œ์ผœ ๋ณด์ž. XML id ์†์„ฑ xml์— id ์†์„ฑ์€ ํ™”๋ฉด์— ๋Œ€ํ•œ View์˜ ํ–‰๋™์„ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด Java ์ฝ”๋“œ๋ฅผ ๋งŒ์งˆ ๋•Œ id ๊ฐ’์„ xml์—์„œ ๋ถ€์—ฌํ•˜๊ณ  ๋ถ€์—ฌ๋œ id ๊ฐ’์„ ํ† ๋Œ€๋กœ .java ์ฝ”๋“œ์—์„œ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์€ ์œ„์ ฏ ๋ณ€์ˆ˜ = (์œ„์ ฏ ๋ช…) findViewById(R.id.์œ„์ ฏ_id); ์˜ ํ˜•ํƒœ๋ฅผ .. 2020. 4. 30.
[์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค] View์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ดํ•ด ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ•œ IDE๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค - ์œ„ํ‚ค๋ฐฑ๊ณผ ์— ๋“ค์–ด๊ฐ€์„œ ์ฐธ๊ณ ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ์„ ํƒ์ด๋‹ค! ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์˜ View ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ์˜ View์˜ ์—ญํ• ์€ ์ฐธ ๋‹ค์–‘ํ•˜๋‹ค. ๊ฐœ๋ฐœ์  ์ธก๋ฉด์—์„œ์˜ View์™€ ์‚ฌ์šฉ์ž์  ์ธก๋ฉด์—์„œ์˜ View๋Š” ๊ฐ™์€ ๊ธฐ๋Šฅ(ํ™”๋ฉด์— ์ •๋ณด๋ฅผ ํ‘œํ˜„ ๋ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณต)์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ๋˜ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„๋˜๊ณ  ๊ฐ€๊ณต๋  ์ˆ˜ ์žˆ๋‹ค. ์ด์ œ ์ด View์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ์•Œ์•„๋ณด๊ณ  ํ•œ ๋ฒˆ ๋‹ค๋ค„ ๋ณด์ž ์œ„์ ฏ(widget) ๊ณผ ๋ทฐ(View) ์šฐ๋ฆฌ๋Š” ์•ž์œผ๋กœ ์œ„์ ฏ๊ณผ ๋ทฐ๋ฅผ ์„œ๋กœ ์ฐจ์ด์ ์„ ๊ฐ€์ง€๊ณ  ๋ถ€๋ฅด๊ฒŒ ๋  ๊ฒƒ์ธ๋ฐ, ์‰ฝ๊ฒŒ ๋ง ํ•˜์ž๋ฉด ์œ„์ ฏ๊ณผ ๋ทฐ์˜ ์ฐจ์ด๋Š” ๋ถ€๋ฅด๋Š” ์œ„์น˜?์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๊ณตํ†ต ์ „์žฌ๋กœ ํ™”.. 2020. 4. 30.
[Python ๊ณ ๊ธ‰]: ๊ฐ์ฒด์™€ ํด๋ž˜์Šค(4) ํด๋ž˜์Šค ๋ณ€์ˆ˜ vs ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ์ง€๋‚œ ์‹œ๊ฐ„์— ์ •๋ณด ์€๋‹‰์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•˜์˜€์„ ๋‹น์‹œ ์˜ˆ์ œ๋กœ ๋‚˜ํƒ€๋ƒˆ๋˜ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์‹ฌ์ธต์  ์„ค๋ช…์„ ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ ์šฐ๋ฆฌ๋Š” ํด๋ž˜์Šค ๋ณ€์ˆ˜์™€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ ์ดํ•ด๋ฅผ ํ•ด์•ผํ•˜๋Š”๋ฐ, ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ•ต์‹ฌ์„ ๋จผ์ € ์ด์•ผ๊ธฐํ•˜์ž๋ฉด. ๋ณ€์ˆ˜๊ฐ€ ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์žˆ์ง€๋งŒ ํ•จ์ˆ˜ ๋ฐ–์— ์žˆ๋ƒ, ํ˜น์€ ์•ˆ์— ์žˆ๋ƒ์˜ ์ฐจ์ด๋‹ค. ์ด์ œ ํด๋ž˜์Šค ๋ณ€์ˆ˜์™€ ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ํด๋ž˜์Šค ๋ณ€์ˆ˜ Class variable ํด๋ž˜์Šค ๋ณ€์ˆ˜๋Š” ํด๋ž˜์Šค ๋‚ด์— ์žˆ์ง€๋งŒ ํ•จ์ˆ˜ ๋ฐ–์—์„œ ๋ณ€์ˆ˜๋ช… = ๋ฐ์ดํ„ฐ ํ˜•์‹์œผ๋กœ ์ •์˜ํ•œ ๋ณ€์ˆ˜์ด๋‹ค. class Car(): car_id = 0 # ํด๋ž˜์Šค ๋ณ€์ˆ˜ def __init__(self, size, color): self.size = size self.color = color ์ด๋ผ๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ์„ ๋•Œ ์œ„์—์„œ ์„ค๋ช…ํ•œ ํด๋ž˜์Šค ๋ณ€์ˆ˜์˜.. 2019. 12. 8.
Python ๊ณ ๊ธ‰: ๊ฐ์ฒด์™€ ํด๋ž˜์Šค(3) ์ •๋ณด ์€๋‹‰ get/set ์†์„ฑ๊ฐ’๊ณผ ํ”„๋กœํผํ‹ฐ ์ž๋ฐ”์—์„œ ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” private, private์œผ๋กœ ์ ‘๊ทผ ์ œํ•œ๋œ ๋ฉค๋ฒ„์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” getter๊ณผ setter์„ ์ด์šฉํ•˜์˜€๋‹ค. private String name; private string account; private String password; public String getName(){ return this.name; } public void setname(String name){ this.name = name; } ... ํ•˜์ง€๋งŒ Python์€ ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†๋‹ค. ์™œ๋ƒ? ๋ชจ๋“  ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋Š” Public์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์–ด๋””์„ ๊ฐ€๋Š” ๊ฒŒํ„ฐ ์„ธํ„ฐ์™€ ๊ฐ™์ด ์ ‘๊ทผ์„ ์ œํ•œํ•ด์•ผํ•  ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ”„๋กœํผํ‹ฐ์ด๋‹ค. ์˜ˆ์ œ_1 ํ”„.. 2019. 12. 8.