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

APP/ANDROID13

[๋ถ€์ŠคํŠธ์ฝ”์Šค] ์•ˆ๋“œ๋กœ์ด๋“œ ์นด๋ฉ”๋ผ ์ฐ์–ด์„œ ๋‚˜ํƒ€๋‚ด๊ธฐ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์นด๋ฉ”๋ผ๋ฅผ ์ฐ์–ด ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์„๋•Œ๋Š” ๊ฐ„๋‹จํžˆ ์ธํ…ํŠธ(intent)๋ฅผ ์ด์šฉํ•ด์„œ ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉด ๋”ฐ๋กœ ์นด๋ฉ”๋ผ ์„ค์ •์„ ์•ˆํ•ด๋„ ๋œ๋‹ค. ์ด๋ฏธ ์„ค์น˜๋œ ์นด๋ฉ”๋ผ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ค. ์ธํ…ํŠธ ์„ค๋ช… -> https://minjoo-space.tistory.com/7 [๋ถ€์ŠคํŠธ์ฝ”์Šค] ์ธํ…ํŠธ(intent)๋ฅผ ์ด์šฉํ•œ ํ™”๋ฉด์ „ํ™˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ์š”์†Œ 4๊ฐ€์ง€ ์•กํ‹ฐ๋น„ํ‹ฐ(Activity) ์„œ๋น„์Šค ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ˆ˜์‹ ์ž ๋‚ด์šฉ ์ œ๊ณต์ž ์•กํ‹ฐ๋น„ํ‹ฐ(Activity) ์•กํ‹ฐ๋น„ํ‹ฐ๋Š” ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” UI๊ตฌ์„ฑ์„ ์œ„ํ•ด ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ์š”์†Œ์ด๋‹ค. ํ™”๋ฉด์— UI๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด.. minjoo-space.tistory.com ์ „์ฒด์  ๊ตฌ์„ฑ์œผ๋กœ๋Š” ์‚ฌ์ง„์ฐ๊ธฐ ๋ฒ„ํŠผ์„ ๋งŒ๋“ค์–ด ์‚ฌ์ง„์ฐ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ธํ…ํŠธ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ , star.. 2020. 3. 20.
[๋ถ€์ŠคํŠธ์ฝ”์Šค] ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ƒํƒœ ํ™•์ธ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ๊ณ„์† ๋Œ๋ฆฌ๋ฉด์„œ ํ™•์ธํ•˜์—ฌ ๋ฌด์„ ๋žœ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€, 3G/LTE๋กœ ์—ฐ๊ฒฐ๋œ ์ƒํƒœ์ธ์ง€, ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” ์ธํ„ฐ๋„ท์ด ์—ฐ๊ฒฐ๋ผ์žˆ์„ ๋•Œ์™€ ์•„๋‹๋•Œ ์–ด๋–ป๊ฒŒ ํ• ๊ฒƒ์ธ์ง€๋ฅผ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. //activity_main.xml //MainActivity.java package com.example.connectstatus; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivi.. 2020. 3. 11.
[๋ถ€์ŠคํŠธ์ฝ”์Šค] ํ—ฌํผ ์‚ฌ์šฉํ•˜๊ธฐ ํ—ฌํผ ํด๋ž˜์Šค ํ—ฌํผํด๋ž˜์Šค๋Š” ๊ธฐ์กด์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ๋Š”์ง€, ์žˆ๋‹ค๋ฉด ๋ฒ„์ „์€ ๋ฌด์—‡์ด๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ๊ฒƒ์ธ์ง€ ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๋ฐ”๊พธ๋Š”๋ฐ ์“ฐ์ผ ์ˆ˜ ์žˆ๋‹ค. ์˜คํ”ˆ ํ—ฌํผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์˜ ํ…Œ์ด๋ธ”์„ ์‚ญ์ œํ•˜๋ฉด ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ ์•„๊ฐ€๊ธฐ ๋•Œ๋ฌธ์—, ์›๋ž˜ ์‚ฌ์šฉ์ž๋Š” ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ๊ณ , ์‹ ๊ทœ ์‚ฌ์šฉ์ž๋Š” ์ƒˆ๋กœ ์‹ ๊ทœ๋กœ ๋งŒ๋“ค์–ด์ค˜์•ผํ•œ๋‹ค. ์ด๋ฅผ ์ง€์›ํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์˜คํ”ˆํ—ฌํผ์ด๋‹ค. ์˜คํ”ˆํ—ฌํผ๋Š” ์œ„์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ƒ์†์„ ํ•ด์„œ ๋งŒ๋“ค์–ด์ฃผ๋ฉด ๋œ๋‹ค. ์œ„์˜ onCreate(), onOpen(), onUpgrade()์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ onCreate() : ์–ด๋–ค ์‚ฌ์šฉ์žํ•œํ…Œ ์ด ์•ฑ ๋ฐฐํฌ ํ›„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์˜คํ”ˆํ–ˆ์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ onOpen() : ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์„ ๊ฒฝ์šฐ onUpgrade() : ๋ฒ„์ „.. 2020. 3. 11.
[๋ถ€์ŠคํŠธ์ฝ”์Šค] SQL์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™œ์šฉ ์˜ˆ์ œ SQL์ด๋ž€? ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ํŠน์ˆ˜ ๋ชฉ์ ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํšจ๊ณผ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•˜์—ฌ ๊ตฌ์กฐํ™”๋œ ๋‚ด๋ถ€ SQL Database์ธ SQLite Database๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - SQLite ์„œ๋ฒ„๊ฐ€ ์•„๋‹ˆ๋ผ ์˜คํ”„๋ผ์ธ์—์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋„ฃ์–ด ์‚ฌ์šฉํ•˜๋Š” ๋น„๊ต์  ๊ฐ€๋ฒผ์šด ์ž„๋ฒ ๋””๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋งŒ์„ ์‚ฌ์šฉํ•จ ์˜คํ”ˆ์†Œ์Šค๋กœ ๋งŒ๋“ค์–ด์ง„ ํŒŒ์ผ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค - MySQL ์„œ๋ฒ„ ํด๋ผ์ด์–ธํŠธ ๋ฐฉ์‹์˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค //MainActivity.java package com.example.mydatabase; import androidx.appcompat.app.AppCompatActivity; import android.d.. 2020. 3. 11.
[๋ถ€์ŠคํŠธ์ฝ”์Šค] ๋„คํŠธ์›Œํ‚น/HTTP ์†Œ์ผ“(Socket) ๋„คํŠธ์›Œํฌ๋ฅผ ๊ฒฝ์œ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„ ํ†ต์‹ ์˜ ์ ‘์†์  ์†Œ์ผ“์„ ํ†ตํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด์— ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์˜ ์—ญํ• ์„ ํ•œ๋‹ค. ์„œ๋ฒ„ ์†Œ์ผ“์€ ์—ฐ๊ฒฐ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์—ญํ• ์„ ํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ ์†Œ์ผ“์€ ์—ฐ๊ฒฐ์„ ๋งŒ๋“œ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ๋„คํŠธ์›Œํ‚น(Networking) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ์˜ ์˜์‚ฌ์†Œํ†ตํ•˜๋Š” ํ–‰์œ„ ๋‘ ๋Œ€ ์ด์ƒ์˜ ์ปดํ“จํ„ฐ๋ฅผ ์ผ€์ด๋ธ”๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ ๋„คํŠธ์›Œํ‚น์€ ์‘๋‹ต์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์†Œ์ผ“ ์—ฐ๊ฒฐ์„ ์„ ํ˜ธํ•˜๋ฉฐ, TCP/IP์˜ ํ†ต์‹ ๋ฐฉ์‹์„ ์ œ๊ณตํ•˜๋Š” ์†Œ์ผ“์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ฐœ๋ฐœ HTTP ์›น ์„œ๋ฒ„๋Š” ๊ตญ์ œํ‘œ์ค€์— ๋งž๋Š” ํฌ๋งท์ธ HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ชฝ์„ ์˜๋ฏธํ•˜๋ฉฐ ์›น์—์„œ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ๋ฐ›๋Š” ์ชฝ์„ ์˜๋ฏธํ•˜๋ฉฐ .. 2020. 3. 5.
[๋ถ€์ŠคํŠธ์ฝ”์Šค] ์Šค๋ ˆ๋“œ(Thread) ์Šค๋ ˆ๋“œ(Thread) ์–ด๋– ํ•œ ํ”„๋กœ๊ทธ๋žจ์—์„œ, ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ํ๋ฆ„์˜ ๋‹จ์œ„๋ฅผ ๋งํ•œ๋‹ค. ๋™์‹œ ์ž‘์—…์„ ์œ„ํ•œ ํ•œ ๋‹จ์œ„ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ : ์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ, ์ด์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ด ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹์€ ํ‘œ์ค€ ์ž๋ฐ”์™€ ๋™์ผํ•˜์ง€๋งŒ, ์ฐจ์ด์ ์ด ์žˆ๋‹ค๋ฉด ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์†Œ์Šค์™€ UI์— ์ง์ ‘ ์ ‘๊ทผํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ•ธ๋“ค๋Ÿฌ(Handler)๊ฐ€ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉ๋˜์–ด์•ผํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด, UI๋‚˜ ํŒŒ์ผ๊ณผ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์ ‘๊ทผํ–ˆ์„ ๋•Œ ์‹œ์Šคํ…œ์—์„œ ์–ด๋–ค ๊ฒƒ์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”์ง€ ๋ชจ๋ฅด๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ•ธ๋“ค๋Ÿฌ(Handler) ๋ฉ”์‹œ์ง€ ํ๋ฅผ ์ด์šฉํ•ด ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์—์„œ ์ฒ˜๋ฆฌํ•  ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ํŠน์ • ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฏธ๋ž˜์˜ ์–ด๋–ค ์‹œ์ ์—์„œ ์‹คํ–‰๋˜๋„๋ก ์Šค์ผ€์ค„๋ง ๊ฐ€๋Šฅ obtainMessage() ํ˜ธ์ถœ.. 2020. 3. 4.
๋ฐ˜์‘ํ˜•