๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

๐Ÿš€ Development/Android15

[์•ˆ๋“œ๋กœ์ด๋“œ Android] Data Binding ์‚ฌ์šฉ๋ฒ• DataBinding๊ณผ ViewBinding์ด ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฐ€? ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด, DataBinding์€ ์ด๋ฆ„์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. (๋ฐ์ดํ„ฐ์™€ ๊ฐ™์ด ๊ฒฐํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ) // ์ž์„ธํ•œ ์ด๋ก ์€ ViewBinding vs DataBinding ์ฐธ๊ณ  ์„ธํŒ… build.gradle android { . .. // ์ถ”๊ฐ€ buildFeatures{ dataBinding = true } } Activity xml ์ „์ฒด๋ฅผ ๊ฐ์‹ผ๋‹ค. MainActivity.kt class MainActivity : AppCompatActivity() { // 1. ์ถ”๊ฐ€ private lateinit var binding : ActivityMainBinding override fun onCreate(savedInst.. 2023. 7. 17.
[Java ์ž๋ฐ”, Android ์•ˆ๋“œ๋กœ์ด๋“œ] ์ฑ„ํŒ…๋ฐฉ ๋งŒ๋“ค๊ธฐ ๋‚ด๊ฐ€ ๋ณด๋‚ธ ๋ฉ”์„ธ์ง€๋Š” ์™ผ์ชฝ์— ๋งํ’์„ ์ด ์žˆ๊ณ , ์ƒ๋Œ€๋ฐฉ ๋ฉ”์„ธ์ง€๋Š” ์˜ค๋ฅธ์ชฝ์— ๋งํ’์„ ์ด ์žˆ๋„๋ก, ์ „ํ˜•์ ์ธ ์ฑ„ํŒ…๋ฐฉ์„ ๋งŒ๋“ค์–ด ๋ณด์•˜๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ID ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์•ฑ ์‹คํ–‰์ž์˜ ID์™€ ์ฑ„ํŒ…์˜ ID๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ ๋‚ด๊ฐ€ ๋ณด๋‚ธ ๋ฉ”์„ธ์ง€๋กœ ์นœ๋‹ค. ์‹คํ–‰ํ™”๋ฉด Android Studio - Version Flamingo | 2022.2.1 patch 2 Project Type ์ฝ”๋“œ ChatData.java public class ChatData { private String id; private String name; private String message; // ๋…„-์›”-์ผ-์‹œ-๋ถ„-์ดˆ -> long ํƒ€์ž…์ด ๋‚˜์ค‘์— ํ•ธ๋“ค๋งํ•˜๊ธฐ ์ œ์ผ ํŽธํ•จ private long time; public String getId() { return id; }.. 2023. 7. 17.
[์•ˆ๋“œ๋กœ์ด๋“œ] Jetpack์˜ ViewModel์ด๋ž€? (์‚ฌ์šฉ๋ฒ• ์˜ˆ์ œ) ์˜ค๋Š˜ ์•Œ์•„๋ณผ ViewModel์€ Android JetPack์˜ ๊ตฌ์„ฑ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ViewModel์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ธ MVVM(Model-View-ViewModel) ๋””์ž์ธ ํŒจํ„ด์œผ๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋˜์—ˆ๋‹ค. MVVM์˜ ๊ด€์ ์—์„œ ๋ถ€๋ฅด๋Š” ViewModel๊ณผ Android Jetpack์— ํฌํ•จ๋œ ViewModelํด๋ž˜์Šค๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด Android Jetpack์— ํฌํ•จ๋œ ViewModel์„ Android Architecture ViewModel์˜ ์•ฝ์ž์ธ AAC ViewModel์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. ViewModel ์ด๋ž€? Activity์™€ fragment์™€ ๊ฐ™์€ UI ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋กœ์ง์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๋กœ์ง์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ Android JetPack ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์™œ UI ์ปจํŠธ๋กค๋Ÿฌ์™€ .. 2023. 5. 22.
[์•ˆ๋“œ๋กœ์ด๋“œ] JetPack์˜ LiveData๋ž€? LiveData ๋ž€? LiveData๋Š” Data์˜ ๋ณ€๊ฒฝ์„ ๊ด€์ฐฐํ•  ์ˆ˜์žˆ๋Š” Data Holder ํด๋ž˜์Šค์ด๋‹ค. LiveData๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์ƒ๋ช…์ฃผ๊ธฐ(LifeCycle)์„ ์•Œ๊ณ  ์žˆ๋‹ค. ์ฆ‰, Activity, Frgment, Service ๋“ฑ๊ณผ ๊ฐ™์€ ์•ˆ๋“œ๋กœ์ด๋“œ ์ปดํฌ๋„ŒํŠธ์˜ ์ƒ๋ช…์ฃผ๊ธฐ(Lifecycle)๋ฅผ ์ธ์‹ํ•˜๋ฉฐ ๊ทธ์— ๋”ฐ๋ผ LiveData๋Š” ํ™œ์„ฑ ์ƒํƒœ์ผ ๋•Œ๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค. ํ™œ์„ฑ ์ƒํƒœ๋ž€ Started ๋˜๋Š” Resumed๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋น„ํ™œ๋™ ์ƒํƒœ์ผ ๋•, LiveData๋Š” ๋ฐ์ดํ„ฐ์˜ ๋ณ€ํ™”๋ฅผ ์•Œ๋ฆฌ์ง€ ์•Š๋‹ค. Destoryed ๋œ ์ƒํƒœ์˜ lifecycle ์—์„œ๋Š” LiveData ๊ฐ์ฒด๋ฅผ Observeํ•˜์ง€ ์•Š๋Š”๋‹ค. LiveData ๊ฐ์ฒด๋Š” Observer ๊ฐ์ฒด์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋œ๋‹ค. LiveData๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ๋ณ€ํ™”๊ฐ€.. 2023. 5. 22.
728x90
๋ฐ˜์‘ํ˜•