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

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

[์•ˆ๋“œ๋กœ์ด๋“œ] ๋Ÿฐํƒ€์ž„์— ๊ถŒํ•œ ์ฒดํฌํ•˜๋Š” ๋ฐฉ๋ฒ• ๋‘ ๊ฐ€์ง€ ์ƒ˜ํ”Œ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค. Case 1. ํ•˜๋‚˜์˜ ๊ถŒํ•œ๋งŒ ์š”์ฒญํ•˜๋Š” ์ผ€์ด์Šค Case 2. ๋‘ ๊ฐ€์ง€ ์ด์ƒ์˜ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋Š” ์ผ€์ด์Šค Case 1. ํ•˜๋‚˜์˜ ๊ถŒํ•œ๋งŒ ์š”์ฒญํ•˜๋Š” ์ผ€์ด์Šค ๋™์ž‘ ์˜ˆ์‹œ Case 1. ํ•˜๋‚˜์˜ ๊ถŒํ•œ๋งŒ ์š”์ฒญํ•˜๋Š” ์ผ€์ด์Šค ์ฝ”๋“œ ์ด ๋ถ€๋ถ„๋งŒ ์ถ”๊ฐ€ํ•ด ์ค€ ๊ฒƒ AndroidManifest.xml MainActivity.java package com.devshin93.runtimepermission; import android.Manifest; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import androi.. 2022. 1. 5.
[์•ˆ๋“œ๋กœ์ด๋“œ] ๋‚จํ•œํ…Œ ๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋„˜๊ธธ ๋•Œ ์–ด๋–ค ํด๋”/ํŒŒ์ผ์„ ์ง€์šฐ๊ณ  ์ค„ ๊ฒƒ์ธ๊ฐ€. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ์•ˆ๋“œ๋กœ์ด๋“œ ํ”„๋กœ์ ํŠธ ํด๋”์˜ ์šฉ๋Ÿ‰์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š”๊ฐ€. ์–ด์ œ๊นŒ์ง€ ๋‚˜ํ˜์„ ์‰ฌ์—ˆ๋”๋‹ˆ ์•„์ง ์ •์‹ ๋จธ๋ฆฌ๊ฐ€ ๋Œ์•„์˜ค์ง€ ์•Š์•˜๋‹ค. ํ”ผ๊ณคํ•˜๋‹ค... ์ œ๋ชฉ์„ ๋ญ๋ผ ๋‹ฌ์•„์•ผ ํ•  ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค. SampleProject ์ด๋ผ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. SampleProject ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ํด๋” ๊ตฌ์„ฑ์ด ๋˜๋Š”๋ฐ, After ๋กœ ๋งŒ๋“ค์–ด์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์ „๋‹ฌํ•˜์ž~~~ โ˜… After๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ์ข…๋ฃŒํ•ด์•ผ ํ•จ! โ˜… Before ์ƒํƒœ์—์„œ ์žˆ๋Š” ํด๋”/ํŒŒ์ผ๋“ค์€ ์กด์žฌํ•œ๋‹ค๋ฉด ์ œ๊ฑฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ž„.. Before ์ƒํƒœ์—์„œ ์—†๋Š”๋ฐ? (์‹๊ฒ) ํ•  ํ•„์š”๋Š” ์—†๋‹ค. ๊ฑ After ์ƒํƒœ๋กœ ๋งŒ๋“ค๋ฉด ๋จ~! SampleProject ใ„ด .gradle : .gradle์ด ํด๋”๋Š” ๋„๊ตฌ Gradle์„ ๋นŒ๋“œ ๊ตฌ์„ฑ ํด๋”, ๋นŒ๋“œ ์บ์‹œ ์ •๋ณด๊ฐ€ ์ผ๋ถ€ ํ•ญ๋ชฉ์„ ์ €์žฅํ•  ๊ฒƒ์ด๋‹ค. (์ œ๊ฑฐ ๊ฐ€๋Šฅ) ใ„ด ... 2021. 12. 28.
[Android Studio] Run/Debug Configurations no module Android Studio Run/Debug Configurations ์ธ ๊ฒฝ์šฐ, ๋ง์น˜ ๋ชจ์–‘์˜ Build ์˜†์— Add Configurations... ๊ฐ€ ์žˆ๋Š”๋ฐ, ํด๋ฆญํ•˜๋ฉด Run/Debug Configurations ์ฐฝ์ด ๋œฌ๋‹ค. ์ด ์ฐฝ ์™ผ์ชฝ ์ƒ๋‹จ์—์„œ + ๋ฅผ ๋ˆŒ๋Ÿฌ Android App ์— ์ƒˆ๋กœ์šด conf ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ฃผ๋Š” ์„ค์ •์„ ํ•˜๋ฉด ๋œ๋‹ค~ ํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ, Module ์— ๋‚ด๊ฐ€ ์‹คํ–‰ํ•  ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ด๋ฆ„.app ์ด ๋œจ๋Š” ๊ฒŒ ๋งž๋Š”๋ฐ. ๋‚˜๋Š” ์—ฌ๊ธฐ์— ๋Œ€์ถฉ ์ด๋Ÿฐ ๊ฒฝ์šฐ์˜€์Œ.. ๋กœ ๋œจ๋Š” ์ผ€์ด์Šค... ๋‚˜์˜ ๊ฒฝ์šฐ์—๋Š”, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์œผ๋กœ๋ถ€ํ„ฐ ์•ฑ ํŒจํ‚ค์ง€๊ฐ€ ๋„˜์–ด ์˜ฌ ๋•Œ settings.gradle ์ด ์—†์–ด์„œ ์ƒ๊ธด ๋ฌธ์ œ์˜€๋‹ค. ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์™€ ๋น„๊ตํ•˜๋ฉฐ settings.gradle ์„ ๋„ฃ์–ด ์ฃผ์ž. (์•ฑ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•?.. 2021. 12. 28.
SOP ์™€ CORS ๊ฐ„๋‹จ ์„ค๋ช… SOP(Same-Origin Policy) CORS ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ์— ์•ž์„œ ๋ฐ˜๋Œ€(?) ๊ฐœ๋…์ธ SOP(Same-Origin Policy)๊ฐ€ ์žˆ๋‹ค. ๋™์ผํ•œ ์ถœ์ฒ˜์—์„œ ์˜จ ์š”์ฒญ๋งŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐœ๋ฐœ์ž ๊ด€์ ์—์„œ ๋ณด๋ฉด ์ด๋Š” ํ”„๋ก ํŠธ์—์„œ ์ผ์–ด๋‚˜๋Š” ๋ฌธ์ œ. ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฌธ์ œ์ด๋‹ค. (๋ณด์•ˆ์ด ๋ถ™์œผ๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋ถˆํŽธํ•ด์ง€๊ฒŒ ๋œ๋‹ค.. ํ•˜ํ•˜) ์‚ฌ์‹ค ๋ฌธ์ œ๋Š” ์•„๋‹ˆ๊ณ , ๋ธŒ๋ผ์šฐ์ € ๋‹จ์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‚ด๊ฐ€ ์‚ฌ์ดํŠธ A์— ๋‚ด ๋กœ๊ทธ์ธ ์ •๋ณด(์ธ์ฆ)๋ฅผ ๊ธฐ์–ตํ•˜๋„๋ก ํ–ˆ๋‹ค. ์•…์˜์ ์ธ ์‚ฌ์ดํŠธ B๋Š” ์™ธ๊ด€์ƒ์œผ๋กœ ์‚ฌ์ดํŠธ A์™€ ์ฐจ์ด์ ์ด ์—†์–ด ๋ณด์ธ๋‹ค. ์•…์˜์ ์ธ ์‚ฌ์ดํŠธ B์—์„œ ์‚ฌ์ดํŠธ A์— ์žˆ๋Š” ๋‚ด ์ธ์ฆ ์ •๋ณด๋ฅผ ํƒˆ์ทจํ•ด ๋‚˜์˜ ์ธ์ฆ์ •๋ณด๋ฅผ ์ด์šฉํ•ด ๋‚ด๊ฐ€ ์‚ฌ์ดํŠธ B์— ๋กœ๊ทธ์ธ์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํฐ ํ”ผํ•ด๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” .. 2021. 12. 22.