본문 바로가기
728x90

분류 전체보기86

[Android JetPack] LiveData 기본 Android JetPack 라이브러리 중 하나인 LiveData에 대해 알아보겠습니다. 특히, LiveData는 ViewModel과 DataBinding과 함께 유용하게 사용됩니다. [안드로이드] ViewModel 이란? ( + ViewModelFactory) 이번에 알아볼 ViewModel은 이전 포스팅에서 공부했던 MVVM 디자인 패턴의 구성요소 중 하나인 ViewModel입니다. 이해를 돕기 위해 예제와 함께 작성하겠습니다. 이전 포스팅 [안드로이드] MVVM 디자인 develop-oj.tistory.com LiveData LiveData는 관찰(observe) 가능한 데이터 홀더 클래스입니다. 스스로 수명 주기(LifeCycle)를 인식합니다. LiveData의 장점 UI와 데이터 상태의 일치 .. 2023. 1. 4.
[Android JetPack] ViewModel 이란? ( + ViewModelFactory) 이번에 알아볼 ViewModel은 이전 포스팅에서 공부했던 MVVM 디자인 패턴의 구성요소 중 하나인 ViewModel입니다. 이해를 돕기 위해 예제와 함께 작성하겠습니다. 이전 포스팅 [안드로이드] MVVM 디자인 패턴 디자인 패턴 디자인 패턴이란 개발을 보다 체계적이고 효율적인 유지·보수를 위해 큰 틀에서 '이러이러한 형식으로 작성하자'라는 일종의 약속으로 볼 수 있습니다. 안드로이드 개발에 사용되 develop-oj.tistory.com ViewModel을 적용하지 않은 경우 class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding var count = 0 override fun onCrea.. 2023. 1. 3.
[Android] MVVM 디자인 패턴 디자인 패턴 디자인 패턴이란 개발을 보다 체계적이고 효율적인 유지·보수를 위해 큰 틀에서 '이러이러한 형식으로 개발하자'라는 일종의 약속으로 볼 수 있습니다. 안드로이드 개발에 사용되는 대표적인 디자인 패턴에는 MVP, MVC, MVVM 등이 있습니다. 몇 차례 프로젝트를 진행하면서 Kotlin Class파일과 xml파일이 많아지다 보니 디자인패턴의 필요성을 절실히 느꼈습니다. 또한, 많은 채용공고에서 MVVM 아키텍처 적용 가능한 개발자를 요구하는 것으로 보아 실무에서도 많은 프로젝트에 MVVM 패턴이 적용되고 있다고 느꼈습니다. 이번 포스팅에서는 MVVM 디자인 패턴에 대해 공부해 보겠습니다. MVVM 디자인 패턴 'MVVM'은 Model - View - ViewModel로 이루어진 디자인 패턴입니다.. 2022. 12. 31.
[백준] 2581번 : 소수 (Kotlin) 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 나의 풀이 fun main(args: Array) { val M = readLine()!!.toInt() val N = readLine()!!.toInt() val result = ArrayList() for (i in M..N) { var count = 0 for (j in 1..i) { if (i % j == 0) { count++ } } if (count == 2) { result.add(i) } } if (result.size == 0) { println("-1").. 2022. 12. 28.
[백준] 2839번 : 설탕 배달 (Kotlin) 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 나의 풀이 fun main(args: Array) { var N = readLine()!!.toInt() var bag = 0 while (true) { if (N % 5 == 0) { println(bag + N / 5) return } else if (N < 0) { println("-1") return } N -= 3 bag++ } } 제가 작성한 코드입니다. ☞ 5의 배수인지 먼저 체크 → 3씩 감소시킬 때 마다 5의 배수인지 확인 → 결국 N이 음수가 된다면 예외.. 2022. 12. 27.
[Kotlin] 배열(Array)과 리스트(List) + ArrayList □ 배열 (Array) 배열(Array)은 정적인 데이터 타입으로 선언하는 순간 배열의 크기(size)가 정해지며 이후 size 변경 불가 배열의 값(value)에 인덱스(Index)를 이용해 접근 기본적으로 Mutable(수정 가능) 타입이고, 인덱스(Index)를 통해 값(value) 변경 가능 배열의 생성 fun main(args: Array) { val arr1 = arrayOf(1, 2, 3, 4, 5) // [1,2,3,4,5] val arr2 = arrayOf("하나", "둘", "셋", 1, 2, 3) // [하나, 둘, 셋, 1, 2, 3] val arr3 = arrayOfNulls(3) // [null, null, null] val arr4 = Array(5) {0} // [0, 0, .. 2022. 12. 26.
728x90
반응형