728x90 ๐ Client/Android3 [Android] Jetpack - Data binding Data binding์ ๋ ์ด์์์ UI ๊ตฌ์ฑ ์์๋ฅผ ์ฑ์ ๋ฐ์ดํฐ์ ๊ฒฐํฉํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ViewModel ๋ก๋ถํฐ ์ฌ์ฉ์ ์ด๋ฆ์ ์ฐธ์กฐํด ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ ํ ๋, ๊ธฐ์กด์๋ ์ง์ ์๋ฐ ์ฝ๋๋ฅผ ์์ฑํด ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํ๋ค. tv.text = viewModel.getUserName() Data binding์ ์ฌ์ฉํ๋ฉด ์๋ฐ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ณ ๋ ์ด์์ ํ์ผ์์ ์ง์ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ํํ์์ ์ฌ์ฉํด ํ ์คํธ๋ฅผ ๋ณ๊ฒฝ ํ ์ ์๋ค. Data binding์ ํตํด ๋ณด์ผ๋ฌ ํ๋ ์ดํธ ์ฝ๋(boilerplate code)๋ฅผ ์ค์ผ ์ ์๋ค๊ณ ํ๋ค. ๋๋ณด๊ธฐ boilerplate code ? ๋น์ทํ ํํ์์ ์ต์ํ์ ๋ณ๊ฒฝ์ผ๋ก ์ฌ๋ฌ ๊ณณ์์ ์ฌ์ฌ์ฉ๋๋ ์ฝ๋๋ฅผ ๋ปํ๋ค. ์ค๋ณต๋์ด ๋ง์ ์์ ์ฝ๋๋ฅผ ์ฆ๊ฐ์ํค๊ณ , ๋ฆฌํฉํ ๋ง์ ๋ฒ๊ฑฐ๋ก์.. 2020. 11. 25. [Android] MVVM ๋์์ธํจํด, Jetpack ์ํคํ ์ณ Android ๊ฐ๋ฐ์ | Android DevelopersJetpack์ ๊ฐ๋ฐ์๊ฐ ๊ด์ฌ ์๋ ์ฝ๋์ ์ง์คํ ์ ์๋๋ก ๊ถ์ฅ์ฌํญ ์ค์, ์์ฉ๊ตฌ ์ฝ๋ ์ ๊ฑฐ, ๋ชจ๋ Android ๋ฒ์ ๊ณผ ๊ธฐ๊ธฐ์์ ์ผ๊ด๋๊ฒ ์๋ํ๋ ์ฝ๋ ์์ฑ์ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชจ์์ ๋๋ค. Jetpack ์ androidx.* ํจํค์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ ๊ณต๋๋ค. ์ด๋ ์๋๋ก์ด๋ ํ๋ ์์ํฌ๊ฐ ์๋ ์ด์ ๋ ํ์ ๋ฒ์ ๊ณผ ํธํํ๊ธฐ ์ํจ์ด๋ผ๊ณ ํ๋ค. Jetpack ์ ํฌ๊ฒ 4๊ฐ์ ์นดํ ๊ณ ๋ฆฌ๋ก ๋ถ๋ฅ๋๋ค.Foundation(๊ธฐ์ด)Architecture(์ํคํ ์ณ)Behavior(๋์)User Interface(์ฌ์ฉ์ ์ธํฐํ์ด์ค) ๊ทธ ์ค Architecture ์๋ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ์ํ๋ค. Data BindingLifecyclesLiveDataNavigationPa.. 2020. 11. 25. [Android/Kotlin] BLE Device ์ค์บ์ ์์น ๊ถํํ์ฉ (Fine vs Coarse) ์ต๊ทผ์ ์๋๋ก์ด๋ ๊ฐ๋ฐ์ ์์ํด์ BLE ํต์ ๊ณผ ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ณ ์๋ค. BLE Device ๋ฅผ ์ค์บํ๊ธฐ ์ํด์๋ ์์น ๊ถํ์ ํ์ฉํด์ผ ํ๋๋ฐ, ์์น ๊ถํ์ ์ข ๋ฅ์ ๋ํด ํท๊ฐ๋ ธ์๋ค. ์ผ๋จ, Activity ๊ฐ ์๋ AppCompatActivity ๋ฅผ ์์๋ฐ์์ ๋ ๊ถํ ํ์ฉ์ ๋ฌผ์ด๋ณด๊ธฐ ์ํด์๋ ์๋ ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค. ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.ACCESS_FINE_LOCATION), 1) arrayOf() ํจ์ ์์ ์ํ๋ ์์น ๊ถํ์ ์ถ๊ฐํ๋ฉด ๋๋ค. LOCATION ๊ณผ ๊ด๋ จ๋ permission ์ข ๋ฅ๋ ๋ค์๊ณผ ๊ฐ๋ค. ACCESS_FINE_LOCATION : GPS, ๋คํธ์ํฌ๋ฅผ.. 2020. 11. 4. ์ด์ 1 ๋ค์ 728x90