본문 바로가기

안드로이드

koin 기초 정리 어느분의 블로그가 너무 정리를 잘해놓으셔서 그분 블로그 링크로 달아놓고 나도 써먹어서 체화되면 글로 정리해야겠다 0편 프롤로그 https://gus0000123.medium.com/android%EA%B0%9C%EB%B0%9C%EC%9E%90%EA%B0%80-%EB%B3%B8-di-%EB%9E%80-dependency-injection-876b61dd0799 Android개발자가 본 DI 란??(Dependency Injection) 해당 문서는 안드로이드 공식 문서를 기반으로 만들어졌습니다. 공식문서: https://developer.android.com/topic/libraries/data-binding/?hl=ko gus0000123.medium.com 1편 koin사용법 https://gus000.. 더보기
AAC ViewModel은 무엇인가? 찍먹부터하고 가보자 Viewmodel은 무엇인가 생각보다 심오하다. 사용법이 심오한건가? 어쨋든 개념부터 살펴보자 뭐 일단 MVVM 의 ViewModel과 AAC의 ViewModel은 엄연히 다른것이다. MVVM의 ViewModel 설명하려면 날새야하고 그걸 생략하고 우리가 다룰 AAC의 ViewModel은 MVVM의 ViewModel을 잘만들라고 구글에서 안드로이드의 특성에 맞도록 보조적인 장치들을 달아서 만들어준 느낌이다. 그래서 ACC의 ViewModel을 썻다고 사실 MVVM 에서 요구하는 ViewModel의 조건을 충족하지 못할 수 있다. 여타 많은 DataBinding이라던지 다양한 작업을 해줘야 MVVM의 ViewModel을 충족할수있다. 그래서 결국에 AAC ViewModel 에서 제공하는게 뭔데 씹덕아 하고.. 더보기
Glide 사용시 필요한기능 찾아놓은것 최초 사용법 https://blog.yena.io/studynote/2020/06/10/Android-Glide.html [Android] Glide 로 이미지 Load하기 Glide Glide, 글라이드는 안드로이드에서 이미지를 빠르고 효율적으로 불러올 수 있게 도와주는 라이브러리이다. 사용 방법도 간단하고 확장성도 넓어서 이미 메이저하게 사용되고 있는 라이브러 blog.yena.io 다양한기능 정리 https://gomsfactory.tistory.com/19 Glide에 대한 기능 정리 Glide에 대한 기능을 자주 사용하는데, 매번 찾기도 그래서 아예 블로그로 옮겨옴 ^^ Setup Add to your app/build.gradle file: dependencies { compile 'com.g.. 더보기
DataBinding의 BindingAdapter BindingAdapter는 우리가 기존에 DataBinding을 통해서 변수의 데이터를 직접 뷰에다 선언적으로 붙여주는것을 할때 직접 정의하지는 않았지만 androidx.databinding.adatpers 에 정의되어있는 어댑터들을 통해 textView 같은 View의 text속성에 변수를 선언 해줄수있었다. 이런식으로 이미 정의되어있는 어댑터들도 있지만 모든 부분이 다 정의 되어있지 않기에 우리가 원하는 부분의 Adapter가 정의되어있지 않은 경우 직접 커스텀해서 사용해야한다. ex)이미지뷰의 src 같은속성 혹은 뷰의 visibility같은것들을 조정하기 위하여 이런경우에 직접 BindingAdapter를 통해서 조작하여주는데 코드단에서 조작해줄수있는 부분을 미리미리 작성하는 느낌으로 타겟이되는.. 더보기
databinding의 Two-way Binding 안드로이드의 Two-way Binding을 살펴볼것이다. 우선 Two-way Binding 이 무엇인가? 개념적으로 보면 여태까지 적용시킨 데이터 바인딩은 코틀린 파일에있는 변수들을 직접 xml에 가져다 붙여서 변수의 내용을 xml에 표시하는것이였다. 그렇다면xml 파일에서 즉 사용자가 view에서(ex. edittext) 같은거에서 작성하는것을 변수로 받아오는것을 databinding으로 할수 없는것인가? 이 부분이 Two-way Binding이다. 즉 사용자가 xml에 입력한데이터 들을 변수와 연결시켜놓으면 그 변수에 저절로 들어가게 만드는것이다. 물론 실시간으로 하려면 livedata를 곁들인 그런형태가 되어야 하지만 어쩃든 그렇다. 그래서 이것의 쓰임새를 생각해보면 MVVM에서 뷰와 뷰모델을 느슨.. 더보기
리사이클러 뷰에 databinding적용해보기 사실 3주차 과제정리에 쭉해놨고 실제로 적용도 했다 하지만 빡갈통인 날 믿을수없어 나중에 찾아헤멜것을 걱정해서 다시 한번 정리한다. 두괄식으로 결론부터 말하자면 data를 적용하는 xml은 각 리사이클러 뷰의item xml파일에 를 넣어주고 각각 viewholder에서 데이터를 각각 받아온것들을 집어넣어주는 형태이다 viewholder에서는 각각 xml들을 갖고있을테니까 ㅎㅎ 그래서 실제로해본것을 정리했다 dataBinding을 리사이클러 뷰에 적용하기 리펙토링을 해보자 1. 당연히 gradle추가해주고 android { ... dataBinding { enabled = true } } 2.리사이클러의 아이템뷰 의 xml을 으로 감싼다. 아이템을 감쌌다. 3.data variable 추가 layout안에.. 더보기
디자인패턴의 전반 mvc,mvp,mvvm을 알아보자 이번글에서는 디자인패턴은 무엇인가 또한 디자인패턴중 많이 쓰이는 mvc mvp mvvm패턴에 대해서 개념적으로 알아보고 갈것이다. 1.디자인패턴은 뭔가? 왜쓰는데 디자인패턴이란 한마디로 패턴이다. 기존에 앱을 만들면서 여러가지 공법들을 적용해서 문제를 해결해 나갔을것이다. 이렇게 기존에 많은 개발자들이 쌓아놓은 경험을 통해서 쌓인 정리되어있는 패턴으로 만들면 일정한 규칙에 의해서 문제를 해결해 나가기에 코드의 가독성도 좋아지고 일정한 패턴으로 짜여져있어 테스트도 쉬워지고 타인의 코드를 봐도 이해하는데 쉬울것이다.(스파게티 코드는 내가 짜도 짜놓고 시간지나면 내가한것도 구분못하는상황이오니) 또한 유지보수하는데 굉장히 유용하게된다. 디자인 패턴은 소프트웨어의 개발 방법을 문서로 공식화한 것입니다(솔루션이 이.. 더보기
data binding 과 live data 동시 적용해보자 이제 전에 포스팅한 두개 DataBinding과 LiveData를 동시에 사용해 볼것이다. (다음번엔 ViewModel도.....) LiveData와 DataBinding을 동시에 같이 사용한다면 LiveData의 값이 변경될때 View의 Data가 자동으로 바뀌어 UI가 저절로 바뀌기 때문에 우리는 Data의 관리만 신경쓰면되기에 아주 편해진다. 자 우선 기존의 방법과 같이 Databinding 과 Livedata를 사용했던대로 적용해보자 databinding부터 해보면 1. App 수준의 build.gradle 수정 android { ... dataBinding { enabled = true } } 이제 이건 슉슉하자 implementation 'androidx.appcompat:appcompat:1.. 더보기