header-img
Info :
CS 31
list_img
์šด์˜์ฒด์ œ ํ”„๋กœ์„ธ์Šค ๋„ˆ ๋ญ”๋ฐ .. .
2024.12.01
0. ํ”„๋กœ์„ธ์Šคํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ๋กœ ์นดํ†ก์ด๋‚˜ ํฌ๋กฌ์„ ์‹คํ–‰ํ•˜๋ฉด ๊ทธ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐ€์ง€๊ณ  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ์ด๋Ÿฐ ์นดํ†ก์ด๋‚˜ ํฌ๋กฌ ๋ชจ๋‘ ํ”„๋กœ์„ธ์Šค์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด์ œ ์šฐ๋ฆฌ๋Š” ์ปดํ“จํ„ฐ๋กœ ์›น์„œํ•‘์„ ํ•˜๊ฒ ๋‹ค๊ณ  ์˜๋„์ ์œผ๋กœ ํฌ๋กฌ ํ•˜๋‚˜๋งŒ ๋„์›Œ๋†“๊ณ  ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋…ธ๋ž˜๋ฅผ ๋“ค์œผ๋ฉด์„œ ์›น์„œํ•‘์„ ํ•˜๊ฒ ๋‹ค๋ฉด ์Œ์•… ํ”„๋กœ๊ทธ๋žจ๋„ ์‹คํ–‰์‹œ์ผœ๋†“๊ณ  ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, ๋ณดํ†ต ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ตฌ์กฐ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.๊ทธ๋ž˜์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ญ”๋ฐ..?ํ”„๋กœ์„ธ์Šค ๋™์‹œ์— ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ญ๊ฐ€ ํ•„์š”ํ• ๊นŒ?  1. ํ”„๋กœ์„ธ์Šค ๋„ˆ ๋ญ”๋ฐ ...๋ณดํ†ต ํ”„๋กœ๊ทธ๋žจ์€ ๋””์Šคํฌ์— ๊ณ ์ด ์ž ๋“ค์–ด ์žˆ๋Š” ์ฝ”๋“œ+๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ์ด๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ผ๋‹จ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€์•ผ ๋˜๊ณ , CPU๊ฐ€ ์ผํ•˜๊ธฐ ..
list_img
์šด์˜์ฒด์ œ์—๊ฒŒ ์„œ๋น„์Šค ์š”๊ตฌํ•˜๊ธฐ (Command Interpreter, API)
2024.11.07
์ฐธ๊ณ  ์„œ์  - ์šด์˜์ฒด์ œ ๊ณต๋ฃก ์ฑ…์ž‘์„ฑํ•  ๋•Œ ๋…ธ๋™์š”๋กœ ํ‹€์—ˆ๋˜ ๋…ธ๋ž˜.. ^.^ - https://youtu.be/YrlnU1ogdEU?si=sqY-8iNOv2m6z_BB    0. ๊ฐœ์š”์šฐ๋ฆฌ๋Š” ์ปดํ“จํ„ฐ, ํœด๋Œ€ํฐ ๋“ฑ ๋งŽ์€ ์ „์ž๊ธฐ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ๊ธฐ๊ธฐ๋กœ ๊ฐ„๋‹จํ•œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์„ ์—ฐ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ๊ฒƒ์€ ํŠน์ • ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” UI์ผ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด UI๋ฅผ ๋„์šฐ๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ๋Š” ์ˆ˜๋งŽ์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•œ๋‹ค๋Š” ์„œ๋น„์Šค๊ฐ€ ๊ทธ๋ž˜์„œ ๋ญ๊ณ , ์„œ๋น„์Šค๋ฅผ ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ๋˜๋Š”์ง€ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.  ์šด์˜์ฒด์ œ์˜ ๋Œ€๋ถ€๋ถ„ ์„œ๋น„์Šค๋“ค์€ ์ปค๋„์—์„œ ์ด๋ค„์ง„๋‹ค. ๋”ฐ๋ผ์„œ ์šด์˜์ฒด์ œ์—๊ฒŒ ์„œ๋น„์Šค ์š”๊ตฌ == ์ปค๋„์—๊ฒŒ ์„œ๋น„์Šค ์š”๊ตฌ์™€ ์œ ์‚ฌํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ปค๋„์€ ์ž˜๋ชป ๊ฑด๋“œ๋ฆฌ๋ฉด ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ๋ง๊ฐ€์งˆ ์ˆ˜..
[Android] BottomNavigationView Custom 1
2023.12.03
๋‚ด๊ฐ€ ์ปค์Šคํ…€ํ•ด์•ผ ๋˜๋Š” ๊ฒƒ ์ƒํƒœ์™€ ๊ด€๊ณ„ ์—†์ด ์•„์ด์ฝ˜ vector GNB background color ๊ฐ ๊ฐ„๊ฒฉ ์„ค์ • active, deactive ์ƒํƒœ์˜ ์•„์ด์ฝ˜ ์ƒ‰์ƒ ํ…์ŠคํŠธ ์ƒ‰์ƒ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ œ๊ฑฐ ์•„์ด์ฝ˜ ๋ฒกํ„ฐ ์ปค์Šคํ…€ → ๊ทธ๋ƒฅ menu ๊ด€๋ จ xml file์—์„œ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋จ. GNB Background Color? // ์•ˆ์— ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•จ. android:background="@color/Gray_1" app:itemBackground="@color/Gray_1" ๋‘˜ ๋‹ค ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ๋จ. ์•„์ดํ…œ๋งŒ ์„ค์ •ํ•˜๋ฉด ๋นˆ ๊ณต๊ฐ„์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์›์น˜ ์•Š๋Š” ์ƒ‰์ƒ์ด ๋ณด์ด๊ฒŒ ๋จ. ์•„์ด์ฝ˜ & text ์ƒ‰์ƒ ์ปค์Šคํ…€? // ์•ˆ์— ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•จ. app:itemIconTint="@color/selector_menu_home_color" a..
list_img
[Android] Hilt
2023.05.09
Dependency ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค์— ์˜์กดํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ. A ํด๋ž˜์Šค๊ฐ€ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด B ํด๋ž˜์Šค๋ฅผ ํ•„์š”๋กœ ํ•  ๋•Œ B๋Š” A์˜ ์˜์กด ๋Œ€์ƒ์ด ๋จ. ์˜ˆ๋ฅผ ๋“ค์–ด ์ƒ๋Ÿฌ๋“œ๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๋“œ๋ ˆ์‹ฑ์ด ํ•„์š”ํ•จ. ์ƒ๋Ÿฌ๋“œ๋Š” ๋“œ๋ ˆ์‹ฑ์— ์˜์กดํ•˜๊ณ  ์žˆ์Œ. ๋”ฐ๋ผ์„œ ์ƒ๋Ÿฌ๋“œ ← ๋“œ๋ ˆ์‹ฑ ๊ด€๊ณ„๊ฐ€ ๋จ. ์—ฌ๊ธฐ์„œ ๋“œ๋ ˆ์‹ฑ์ด ์˜์กด์˜ ๋Œ€์ƒ, Dependency๊ฐ€ ๋จ. Injection ์œ„์˜ ์˜ˆ๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•ด์„œ ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ƒ๋Ÿฌ๋“œ ํด๋ž˜์Šค, ๋“œ๋ ˆ์‹ฑ ํด๋ž˜์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ƒ๋Ÿฌ๋“œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋“œ๋ ˆ์‹ฑ์˜ ๊ฐ์ฒด๊ฐ€ ํ•„์š”ํ•จ. ํ•˜์ง€๋งŒ ์ด ๋“œ๋ ˆ์‹ฑ ๊ฐ์ฒด๋ฅผ ์ƒ๋Ÿฌ๋“œ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์™ธ๋ถ€์—์„œ ๋งŒ๋“ค์–ด์„œ ๊ฑด๋„ค์ฃผ๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์Œ. ์ด๋ ‡๊ฒŒ ์™ธ๋ถ€์—์„œ ์˜์กด๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๋Œ€์ƒ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ ์˜์กด์„ฑ(Dependency)์„ ์™ธ๋ถ€์—์„œ ์ฃผ์ž…(Inje..
[Android] Base Activity, Fragment
2023.04.16
๋ฐฑ์—…์šฉ๋„๋กœ ์ž‘์„ฑ import android.os.Bundle import androidx.annotation.LayoutRes import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil import androidx.databinding.ViewDataBinding import androidx.lifecycle.ViewModel abstract class BaseActivity(@LayoutRes val layoutRes: Int) : AppCompatActivity() { /*@LayoutRes abstract fun getLayoutRes(): Int*/ abstract val viewModel: ..
list_img
[Android] OKHttp3๋ฅผ ์‚ฌ์šฉํ•œ ํ—ค๋” ์ถ”๊ฐ€, Retrofit2๋ฅผ ์‚ฌ์šฉํ•œ http ํ†ต์‹ 
2023.04.16
OKHttp3, Retrofit2 square์‚ฌ์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ. http ํด๋ผ์ด์–ธํŠธ๋กœ ์‰ฝ๊ฒŒ request, response๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ. Retrofit ํŠน์ง• ์„ฑ๋Šฅ์ด ์ข‹์Œ. (Volley, AsyncTask์— ๋น„ํ•ด) annotation์„ ์‚ฌ์šฉํ•ด HTTP ์ž‘์—…์„ ํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๋“ค์ด ํ–‰์œ„๋ฅผ ์†์‰ฝ๊ฒŒ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Œ. (๊ฐ€๋…์„ฑ ๐Ÿ‘) ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ(JSON)๋ฅผ ์ž๋™์œผ๋กœ ํŒŒ์‹ฑํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํŽธ๋ฆฌํ•จ. ์บ์‹ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•จ image loading์ด ๋ถˆ๊ฐ€๋Šฅํ•˜์—ฌ glide์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•จ. OKHttp3 - ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„์€ ํด๋ผ์ด์–ธํŠธ์—์„œ request๋ฅผ ๋‚ ๋ฆด ๋•Œ ํ—ค๋”๋ฅผ ๋„ฃ์–ด์ฃผ๋„๋ก ๋งŒ๋“ค์—ˆ์Œ. // header ์ถ”๊ฐ€ private val ok..