๐งฉ์๋๋ก์ด๋/๊ธฐํ
[Android/Kotlin] getString(), getColor(), getDrawable() ์ฌ์ฉ๋ฒ (strings.xml, colors.xml, drawable.xml Resource ๊ฐ์ ธ์ค๊ธฐ)
getString() Activity, Fragment ์์ getString(R.string.normal) ๊ทธ ์ธ(BindingAdapter) @BindingAdapter("gradeColor") @JvmStatic fun setGradeColor(textView: TextView, grade: String) { textView.context.getString(R.string.good) ... getColor(), getDrawable() ContextCompat.getColor(mContext, R.color.custom_gray) ContextCompat.getDrawable(mContext, R.drawable.custom_bg)
Android/Kotlin: OkHttp3๋ฅผ ์ฌ์ฉํ์ฌ WebSocket ํต์ ์ ํ๋ ๋ฒ
1. AndroidManifest.xml์ ์์ฑ 2. build.gradle(Module)์ ์์ฑ dependencies { implementation 'com.squareup.okhttp3:okhttp:3.12.12' ... } 3. ListenerClass ์์ฑ import android.util.Log import okhttp3.Response import okhttp3.WebSocket import okhttp3.WebSocketListener import okio.ByteString class WebSocketListener : WebSocketListener() { override fun onOpen(webSocket: WebSocket, response: Response?) { webSock..
Android Studio: viewBinding ์ฌ์ฉ๋ฒ (kotlin synthetics ๋์ฒด)
viewBinding viewBinding ์์๋ฅผ build.grade ํ์ผ์ ๋ณต์ฌํ๋ค. android { ... viewBinding { enabled = true } } result_profile.xml ๋ ์ด์์ ํ์ผ์ ๋ด์ฉ์ด ๋ค์๊ณผ ๊ฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด ๊ฒฝ์ฐ ์์ฑ๋ ๊ฒฐํฉ ํด๋์ค ์ด๋ฆ์ ResultProfileBinding(name๊ณผ button ๋ ํ๋๋ฅผ ๊ฐ์ง)์ด ๋๋ค. (๋ ์ด์์ ํ์ผ ์ด๋ฆ์ ์นด๋ฉํ๊ธฐ๋ฒ์ผ๋ก ๋ณํ ํ ๋์ Binding์ ์ถ๊ฐ) ๊ฒฐํฉ ํด๋์ค์๋ ์์ํ๋ ๋ ์ด์์ ํ์ผ์ ๋ฃจํธ ๋ทฐ์ ๊ดํ ์ง์ ์ฐธ์กฐ๋ฅผ ์ ๊ณตํ๋ getRoot() ๋ฉ์๋๊ฐ ํฌํจ๋๋ค. (ResultProfileBinding ํด๋์ค์ getRoot()๋ฉ์๋๋ LinearLayout ๋ฃจํธ ๋ทฐ๋ฅผ ๋ฐํํ๋ค.) Activity์์ ..