본문 바로가기

안드로이드개발2

[Android] 카카오 로그인(v1) 버튼 변경하기 카카오 로그인 라이브러리 v1은 LoginButton 클래스를 이용해서 로그인하는 예제만 나와있다. (내가 못 본 것이라면 정말 정말 찾기 쉽지 않음) LoginButton UI가 이상하게 생겨서 UI는 직접 구현하고 로직을 처리하려고 문서를 찾아봤지만 v2 버전 말고는 없다. 보통 복잡한 로그인 플로우 처리를 설명하고, 그것들을 쓰기 편리하게 UI 클래스 하나로 선물하는데, 카카오 로그인 v1은 선물만 존재해서 확장성이 부족해 보인다. 어째든, 그래서 레이아웃을 새로 만들고 LoginButton 을 확장해서 UI를 변경했다. 일부러 이렇게 사용하란 것처럼 함수들이 외부로 노출되어 있어서 다행이다. class KakaoLoginButton @JvmOverloads constructor(context: C.. 2020. 6. 23.
[Android] MutableLiveData를 LiveData로 간단히 은닉시켜보자 안드로이드의 LiveData를 뷰모델에서 사용하거나 앱 상태 관리할 때 사용하곤 한다.. 이때, 클래스의 완성도를 위해 외부에서 변경하지 못하도록 불변(immutable) 속성을 만들게 된다. 이런식. val notices: LiveData = MutableLiveData() 그리고 데이터를 변경해주려면, MutableLiveData로 타입을 변환시켜서 사용해야 한다. 그때마다 타입변환을 해야 하는 수고를 코틀린의 확장함수로 정의하면 편하더라구.. protected 또는 private로 클래스 안에 작성해야 클래스 외부에서 toMutable함수를 사용할 수 없다. protected fun LiveData.toMutable(): MutableLiveData? { return this as? MutableL.. 2020. 3. 19.