![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FefyCay%2FbtqEHacwuPQ%2FEKbwWU7a7nJJT49Rkuybdk%2Fimg.png)
최근 안드로이드 스튜디오를 업데이트한 뒤 아래와 같은 메시지와 함께 빌드가 되지 않는 상황을 맞이 했다. Could not initialize class org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSetKt 업데이트 정보는 다음과 같다. // build.gradle classpath 'com.android.tools.build:gradle:4.0.0' // gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip 이는 Gradle 버전에서 지원하는 코틀린 버전이 맞지 않아서 생기는 문제이다. 아래와 같이 코..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHgKJq%2FbtqExZPB7D1%2Fd73P0WR4wBdVLTFZaEkW90%2Fimg.jpg)
* 샘플코드는 제 깃헙에 있습니다. Java에서 Try는 예외처리 구문이다. 흔히 얘기하는 Try-catch문이라고 한다. 그런데 이 구문도 완벽하지는 않다. 아래 예시를 보자. public class TryWithResource { public static void main(String[] args) { FileInputStream stream = null; try { stream = new FileInputStream(""); } catch (IOException e) { e.printStackTrace(); } finally { try { stream.close(); } catch (IOException e) { e.printStackTrace(); } } } } 프로그램이 끝날 때, 닫혀야 하는(..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpRtbD%2FbtqEfXxc57o%2F3vybWRGzQLIvAJkd5xKYI1%2Fimg.jpg)
완성한 코드는 다음과 같다. (내가 드디어 해냈다. 캄.동.) https://github.com/conquerex/mvvm-template conquerex/mvvm-template MVVM 학습과 앞으로 활용을 위한 템플릿. Contribute to conquerex/mvvm-template development by creating an account on GitHub. github.com 앞으로 개발을 한다면 다음과 같은 시나리오일 것이다. (일종의 복습) class MainActivity : BaseActivity() { // 생략 override val viewModel: MainViewModel by viewModel() // 생략 override fun initDataBinding() { v..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fk3YEh%2FbtqD6md7PH1%2FHl7ZDFfJwU9zKCA7SKhXTK%2Fimg.png)
이번편에서도 코드를 보면서 학습하길 권한다. conquerex/mvvm-template MVVM 학습과 앞으로 활용을 위한 템플릿. Contribute to conquerex/mvvm-template development by creating an account on GitHub. github.com 이번편까지 하면 코드는 다 입력한 것이다. 물론 MVVM을 정복한 것은 아니니 계속 긴장하고 있자. (나 스스로 한테 한 얘기) 먼저 MainSearchRecyclerViewAdapter를 만들자. 코드는 역시 내 Github에 있다. 블로그 포스팅 번호와 커밋 메시지의 번호가 동일하니 참고해서 학습하면 된다. 어댑터 만들면서 item_main_image, ic_image_black_24dp, item_ma..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNGer0%2FbtqEeYXCaYg%2FSG2JyatbAOU8LjArqNKTM0%2Fimg.jpg)
이번편에서도 코드를 보면서 학습하길 권한다. conquerex/mvvm-template MVVM 학습과 앞으로 활용을 위한 템플릿. Contribute to conquerex/mvvm-template development by creating an account on GitHub. github.com 우선 MainActivity를 준비하자. 물론 activity_main.xml도 같이 세팅하자. 여기서 DataBinding이 나온다. 하지만 생각보다 단순한 개념이기에 참고 링크만 남겨둔다. MVVM에 데이터바인딩이 필수라고 하는 분이 있고 그렇지 않다고 얘기하는 분도 있었다. 필수라고 하는 분은 의존성이 낮아짐을 근거로 삼고, 필수가 아니라는 분은 디자인패턴적으로 봤을 때 없어도 되기 때문이라고 한다. ..
Comment