๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿค–Android (57)

ruriruriya

[Android Kotlin] ์•ˆ๋“œ๋กœ์ด๋“œ ์ฝ”ํ‹€๋ฆฐ - ๋ฌธ์ž์—ด ํ…œํ”Œ๋ฆฟ

์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ๋ฌธ์ž์—ด ์•ˆ์— ๋ณ€์ˆ˜๋‚˜ ํ‘œํ˜„์‹์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ž์—ด ํ…œํ”Œ๋ฆฟ์ด ์žˆ๋‹ค.์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‰ฝ๊ฒŒ ๋ฌธ์ž์—ด์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ณ  ๋˜ํ•œ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ๋„ ์ข‹์•„์ง„๋‹ค.1. ๋ณ€์ˆ˜๋ฅผ ๋ฌธ์ž์—ด์— ์‚ฝ์ž…๋ฌธ์ž์—ด์— ๋ณ€์ˆ˜๋ฅผ ๋„ฃ๊ณ  ์‹ถ์„ ๋•Œ, ๋ณ€์ˆ˜ ์•ž์— $ ๊ธฐํ˜ธ๋ฅผ ๋ถ™์ธ๋‹ค.val name = "Alice"val age = 25// ๋ฌธ์ž์—ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•œ ์˜ˆ์‹œval greeting = "Hello, my name is $name and I am $age years old."println(greeting) // ์ถœ๋ ฅ: Hello, my name is Alice and I am 25 years old. 2. ํ‘œํ˜„์‹์„ ๋ฌธ์ž์—ด์— ์‚ฝ์ž…์ค‘๊ด„ํ˜ธ {} ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณต์žกํ•œ ํ‘œํ˜„์‹์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.val price = 9.99val quantity ..

๐Ÿค–Android/Kotlin 2024. 10. 12. 08:48
[Android Kotlin] ์•ˆ๋“œ๋กœ์ด๋“œ ์ฝ”ํ‹€๋ฆฐ - ๋ทฐ ๋ฐ”์ธ๋”ฉ (View Binding)

์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์‹œ xml ์—ฐ๊ฒฐํ•˜๋Š” findViewById() ์ „ํ†ต์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ํ–ˆ์—ˆ๋Š”๋ฐ ์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์šฐ๋ฉด์„œ ์ฝ”ํ‹€๋ฆฐ์—์„œ๋งŒ ์ œ๊ณตํ•˜๋Š” ๋ทฐ ๋ฐ”์ธ๋”ฉ(View Binding)์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ชจ๋กœ findViewById() ๋ณด๋‹ค ์žฅ์ ์ด ๋งŽ์•„์„œ ๋ฐฐ์šฐ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด์ œ ๋ทฐ ๋ฐ”์ธ๋”ฉ์œผ๋กœ xml ํ™”๋ฉด์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž.0. ๋ทฐ ๋ฐ”์ธ๋”ฉ(viewBinding)์˜ ์žฅ์ ํƒ€์ž… ์•ˆ์ •์„ฑ : XML์—์„œ ์ •์˜๋œ ๋ทฐ๋ฅผ ์ž˜๋ชป ์ฐธ์กฐํ•  ์œ„ํ—˜์ด ์ค„์–ด๋“ ๋‹ค.์ปดํŒŒ์ผ ํƒ€์ž„ ์ฒดํฌ : ์˜ค๋ฅ˜๋ฅผ ์ปดํŒŒ์ผ ํƒ€์ž„์— ์žก์„ ์ˆ˜ ์žˆ์–ด์„œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ์ค„์–ด๋“ ๋‹ค.์ฝ”๋“œ ๊ฐ„์†Œํ™” : findViewById()๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†๊ณ , ์ค‘๋ณต ์ฝ”๋“œ๊ฐ€ ์ค„์–ด๋“ ๋‹ค.null ์•ˆ์ „์„ฑ : Kotlin์—์„œ๋Š” null ์•ˆ์ „์„ฑ์„ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”๋“œ๊ฐ€ ๋” ์•ˆ์ „ํ•ด์ง„๋‹ค. 1. viewB..

๐Ÿค–Android/Kotlin 2024. 10. 11. 18:58
[Android]์•ˆ๋“œ๋กœ์ด๋“œ - ์—๋ฎฌ๋ ˆ์ดํ„ฐ ํ•œ๊ธ€ ํ‚ค๋ณด๋“œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ฐœ๋ฐœ ์‹œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ์–ธ์–ด๊ฐ€ ์˜์–ด๋กœ ์„ค์ •๋˜์–ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฐ ํ•œ๊ตญ์ธ... ํ•œ๊ตญ์–ด๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹ค์ œ ๋””๋ฐ”์ด์Šค๋ฅผ ์“ฐ๋˜๊ฐ€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋‚ด์—์„œ ๊ธฐ๋ณธ์–ธ์–ด๋ฅผ ํ•œ๊ตญ์–ด๋กœ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•œ๋‹ค. ๊ธฐ๊ธฐ๊ฐ€ ์—†์œผ๋‹ˆ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋‚ด์—์„œ ์–ธ์–ด ์„ค์ •์„ ๋ฐ”๊ฟ”๋ณด์ž. 1. ์„ค์ •์œผ๋กœ ๋“ค์–ด๊ฐ€ Search settings - ์„ค์ • ๊ฒ€์ƒ‰์–ด๋ฅผ lan์ด๋ผ๊ณ  ์ž‘์„ฑํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜๋ฉด Languages(System) ์„ค์ • ์„ ํƒ 2. System Languages ํ•œ๊ตญ์–ด๋กœ ๋ณ€๊ฒฝ - Languages > System Languages - Add a language ์—์„œ ํ•œ๊ตญ์–ด ์„ ํƒ(์Šคํฌ๋กค์„ ๋งˆ์ง€๋ง‰๊นŒ์ง€ ๋‚ด๋ ค์•ผ ์žˆ๋‹ค...)

๐Ÿค–Android/Java 2024. 2. 13. 17:44
[Android]์•ˆ๋“œ๋กœ์ด๋“œ - TextView์˜ ํ…์ŠคํŠธ ๊ธธ์ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•(maxLines, ellipsize)

์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ TextView์˜ ๊ธธ์ด๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํฌ๊ธฐ์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์†์„ฑ์œผ๋กœ๋Š” layout_width, layout_height, maxLines, ellipsize ๋“ฑ์ด ์žˆ๋‹ค. ๊ฐ ์†์„ฑ์˜ ์—ญํ• ๊ณผ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ์•Œ์•„๋ณด์ž. 1. layout_width ์™€ layout_height TextView์˜ ๋„ˆ๋น„์™€ ๋†’์ด๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’๋“ค์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. wrap_content: TextView๊ฐ€ ํฌํ•จํ•˜๋Š” ๋‚ด์šฉ์— ๋งž๊ฒŒ ํฌ๊ธฐ๊ฐ€ ์กฐ์ ˆ๋จ. match_parent ๋˜๋Š” fill_parent: ๋ถ€๋ชจ ๋ ˆ์ด์•„์›ƒ์˜ ๋„ˆ๋น„ ๋˜๋Š” ๋†’์ด์™€ ๊ฐ™์•„์ง. ๊ณ ์ • ํฌ๊ธฐ(์˜ˆ: 100dp): ๊ณ ์ •๋œ ํฌ๊ธฐ๋กœ ์„ค์ •. 2. maxLines TextView์— ํ‘œ์‹œํ•  ์ตœ๋Œ€ ์ค„ ์ˆ˜๋ฅผ ์ง€์ •ํ•œ๋‹ค..

๐Ÿค–Android/Java 2024. 2. 11. 09:45