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

IT-Engineering/Android5

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค Material Design ์ ์šฉํ•˜๊ธฐ material.io ๋ฅผ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ์•ˆ๋“œ๋กœ์ด๋“œ์˜ ์•„๋ฆ„๋‹ต๊ณ  ์ •๊ฐˆํ•œ ๋””์ž์ธ, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ฒ ํ•™์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์šฐ์„  ์‰ฝ๊ฒŒ ํ”„๋กœ์ ํŠธ์— Material Design์„ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ AndroidX migrate๋ฅผ ํ–ˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์—, ํ˜น์€ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ์ตœ์‹ ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— (ํ•„์ž๋Š” Android Studio 3.6.1 ๋ฒ„์ „์„ ์‚ฌ์šฉ ์ค‘) ๋จผ์ € ์ขŒ์ธก ํ”„๋กœ์ ํŠธ ํŠธ๋ฆฌ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ถ€๋ถ„์„ ํด๋ฆญํ•œ๋‹ค. dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlay.. 2020. 3. 22.
์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ธฐ๋ณธ ํ…Œ๋งˆ ๋ฐ ์Šคํƒ€์ผ ์†์„ฑ ๋ถ„์„ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๊ธฐ๋ณธ ์•ฑ์„ ์ƒ์„ฑํ–ˆ์„ ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ…Œ๋งˆ๋ฅผ ๋ถ„์„ํ•ด๋ณด์•˜๋‹ค. ํ•„์ž์˜ ๊ฒฝ์šฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๊ธฐ๋ณธ ํ…Œ๋งˆ๋Š” Theme.AppCompat.Light.DarkActionBar๋กœ ์„ค์ •์ด ๋˜์–ด ์žˆ์—ˆ๋‹ค. parent์†์„ฑ์„ ํ†ตํ•ด ์ญ‰ ๋”ฐ๋ผ๊ฐ€๋ณด๋ฉด Base.Theme.AppCompat.Light.DarkActionBar๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์žˆ๊ณ  Base.Theme.AppCompat.Light.DarkActionBar Base.Theme.AppCompat.Light๋ฅผ ์ƒ์†๋ฐ›์•„ ๋‹ค์‹œ Base.V7.Theme.AppCompat.Light๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์ด ๋†ˆ์ด ๋Œ€๋ถ€๋ถ„์˜ ์Šคํƒ€์ผ๋“ค์€ ํฐ ๋ฒ”์ฃผ์—์„œ ์ง€์ •ํ•˜๊ณ  ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. Base.V7.Theme.AppCompat.Light ๋‹ค์‹œ Platform.AppCompat.Light๋ฅผ ์ƒ.. 2020. 3. 14.
์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ํƒ€์ดํ‹€๋ฐ” ์—†์• ๊ธฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ๋งŒ๋“  ์•ฑ์„ ์˜ˆ์‹œ๋กœ ์•ฑ ํƒ€์ดํ‹€๋ฐ”๋ฅผ ๋ณด์ด์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋ฒ•์„ ์„ค๋ช…ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ๊ธฐ๋ณธ ์•ฑ์˜ ์‹คํ–‰ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๋ฒ„์ „์— ๋”ฐ๋ผ ํ™”๋ฉด์ด ์ƒ์ดํ•  ์ˆ˜ ์žˆ๋‹ค.) ์•ฑ์„ ๊ธฐ๋ณธ์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ๋‚˜๋ฉด activity๋ณด๋‹ค ์ƒ์œ„๋‹จ๊ณ„์ธ application(์•ฑ ์ „์ฒด)์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด @style/AppTheme์ด ์„ค์ •๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. AndroidManifest.xml ์—ฌ๊ธฐ์„œ ์•ฑ ํƒ€์ดํ‹€๋ฐ”๋ฅผ ์—†์• ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ์Šคํƒ€์ผ์— ๋“ค์–ด๊ฐ€์„œ windowNoTitle ์•„์ดํ…œ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์†์„ฑ์„ true๋กœ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ('ํƒ€์ดํ‹€์—†์Œ=๋„ค' ๋ผ๊ณ  ์„ค์ •ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.) styles.xml ์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜๊ณ  ๋‚˜๋ฉด ํƒ€์ดํ‹€๋ฐ”๊ฐ€ ์—†์–ด์ง„ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 2020. 3. 14.
์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค - ์•ฑ๋ณ„ ๋””๋ ‰ํ† ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ(feat. Device File Explorer) ๋ถ€์ œ: Device File Explorer์—์„œ Permission denied ๋ฌธ์ œ ํ•ด๊ฒฐ๊ธฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ๊ฐœ๋ฐœ์‹œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ์•ฑ๋ณ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๊ณ  ๋ถˆ๋Ÿฌ๋“ค์ด๋Š” ๊ฒฝ์šฐ ํƒ์ƒ‰๊ธฐ ๋ ˆ๋ฒจ์—์„œ ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ํ•˜๊ณ  ์ฝ”๋“œ ๋‹จ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด๋ณด๊ฒ ๋‹ค. getExternalFilesDir ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ์•ฑ์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ๋ช…๋ น์–ด๋กœ, ์˜ˆ๋ฅผ๋“ค์–ด getExternalFilesDir(data) ์™€ ๊ฐ™์ด ํ˜ธ์ถœํ•˜๋ฉด ๋Œ€๋žต storage/emulated/0/Android/data/com.exercise.testapp/files/data์™€ ๊ฐ™์€ ๊ฒฝ๋กœ๋ฅผ ๋ฑ‰์–ด์ค€๋‹ค. ์ด ๋•Œ ํ•ด๋‹น ๊ฒฝ๋กœ์— ์–ด๋–ค ํŒŒ์ผ์„ ์˜ฌ๋ ค๋†“๊ณ  ์“ฐ๊ณ  ์‹ถ์–ด Device File Explorer๋กœ ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ์ ‘๊ทผํ•˜๋ ค๊ณ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์„ ๋ณด.. 2020. 3. 9.
์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ํƒ์ƒ‰๊ธฐ ์‚ฌ์šฉํ•˜๊ธฐ ๋ถ€์ œ - ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์˜ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ณต์‚ฌ ์‚ญ์ œํ•˜๊ธฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋‚˜ ์Šค๋งˆํŠธํฐ ๊ธฐ๊ธฐ๋ฅผ ํƒ์ƒ‰๊ธฐ ์Šคํƒ€์ผ๋กœ ์ง์ ‘ ์ ‘๊ทผํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ฐ€๋ณ๊ฒŒ ํŒŒ์ผ ์—…๋กœ๋“œ๋ฅผ ํ•˜๊ฑฐ๋‚˜, ํŒŒ์ผ ์‚ญ์ œ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ. ํ•„์ž์˜ ๊ฒฝ์šฐ์—๋Š” Glide๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ์„ ํ•˜๋Š”๋ฐ, ์›น์—์„œ ๊ฐ€์ ธ์˜ค๋Š” ๋Œ€์‹  ๋กœ์ปฌ sdcard์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค(Android Studio)์—์„œ Device File Explorer๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”๋‰ด์˜ View - Tool Windows - Device File Explorer๋ฅผ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํƒ์ƒ‰๊ธฐ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํŒŒ์ผ ์—…๋กœ๋“œ์‹œ์—๋Š” ์›ํ•˜๋Š” ํด๋”์—์„œ ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ์„.. 2020. 3. 9.