본문 바로가기
반응형

ANDROID/Android 개발 이슈 & 해결22

[Android] LiveData를 유연하게 사용하는 방법 (feat.Transformations) 이번 프로젝트를 하면서 LiveData와 Room을 연결하는 작업을 하던 도중, 사용자가 버튼으로 날짜를 바꾸면 바뀐 날짜에 대한 데이터 리스트를 Room에서 받아오고, 그 결과값을 LiveData에 넣어야 했다. 지금까지 알기로는 LiveData의 값은 직접 변경할 수 없고 MutableLiveData를 통해 변경한 값을 가져올 수 있었는데, 이 경우에는 LiveData의 값을 직접 바꿔야 한다는 문제에 봉착했다. [Android/Jetpack] AAC - LiveData LiveData 식별 가능한(Observable) 데이터 홀더 클래스 LiveData는 Activity, Fragment, Service 등 다른 앱 구성요소의 수명 주기를 고려(Lifecycle-aware)한다. 수명 주기 인식을 .. 2022. 3. 7.
[Android] 화면 터치로 키보드 내려가게 하기 프로젝트에서 UI를 개발하다보니 키보드와 화면이 같이 올라가게 하거나, 키보드만 올라가게 해야 할 때가 생겼다. 키보드만 올라갈 때는 키보드에 가려진 위젯을 사용하기 위해서 사용자가 키보드를 내려야 하는데 이 과정을 편하게 하기 위해서 화면을 터치하면 키보드가 내려가게 끔 개발하고자 하였다. 화면 터치로 키보드 내려가게 하기 우선 코드는 Fragment에서 사용하였기 때문에 Fragment를 담고 있는 Activity를 불러와서 사용해야 했다. Activity에서 사용하는 경우에는 activity/requireActivity() 대신 this를 사용! private fun hideKeyboard() { if (activity != null && requireActivity().currentFocus !=.. 2022. 2. 25.
[Android] Retrofit2 통신 오류 해결 : Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $ 오늘은 제가 Android 앱 개발 중 REST 통신을 하다가 만난 오류를 포스팅해보려고 합니다! 제가 통신에 사용한 라이브러리는 Retrofit2와 Moshi(Object ↔ JSON) 입니다. ✨ Moshi가 궁금하신 분은 아래 포스팅을 참고해주세요! [Android] Moshi를 이용한 Retrofit2 통신 최근 프로젝트를 하면서 서버와 통신하는 작업을 하게 되었습니다. 그래서 기존에 사용하던 Retrofit2와 GSON으로 작업을 진행하려고 했다가, 새롭게 사용할 라이브러리가 있을까하고 찾아보게 되 junyoung-developer.tistory.com 🚩오류 - Expected BEGIN_OBJECT but was BEGIN_ARRAY at path $ 오류의 내용은 이렇습니다. 'com.sq.. 2022. 1. 4.
[Android] Moshi를 이용한 Retrofit2 통신 최근 프로젝트를 하면서 서버와 통신하는 작업을 하게 되었습니다. 그래서 기존에 사용하던 Retrofit2와 GSON으로 작업을 진행하려고 했다가, 새롭게 사용할 라이브러리가 있을까하고 찾아보게 되었습니다. 그러다가 Android Codelabs의 'Get data from the Internet'을 보게 되었고, GSON이 아닌 Moshi라는 라이브러리를 사용하고 있다는 것을 발견했습니다! (저는 종종 새로운 정보를 Codelabs를 통해 얻기도 합니다..!) Moshi 라이브러리 Json과 Object를 직렬화/역직렬화를 쉽고 안전하게 할 수록 도와주는 라이브러리 GitHub - square/moshi: A modern JSON library for Kotlin and Java. A modern JSO.. 2021. 11. 20.
[Android] MPAndroidChart : x축 시간, 날짜로 변경하기 MPAndroidChart x축 시간으로 변경하기 포스팅 시점으로 최신 라이브러리인 3.1.0 버전을 사용하겠습니다. implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' TimeAxisValueFormat.kt x축을 날짜-시간 형식으로 포맷할 클래스를 만들어 해결합니다. class TimeAxisValueFormat : IndexAxisValueFormatter() { override fun getFormattedValue(value: Float): String { // Float(min) -> Date var valueToMinutes = TimeUnit.MINUTES.toMillis(value.toLong()) var timeMimutes = Da.. 2021. 11. 4.
[Android] 차트(Chart) 그리기 : MPAndroidChart 오늘은 MPAndroidChart 라이브러리를 이용해서 쉽게 그래프 그리는 방법을 설명하겠습니다. 버전이 계속 업데이트가 되어서 여러 속성 예시가 있었고 계속 적용해보느라 시간이 예상보다 오래걸렸던 작업이었습니다. 가장 최신 버전으로 그래프를 그려보았고, 그래프는 나중에도 계속 사용하게 될 것 같아서 나와 모두에게 도움이 되고자 정리합니다! MPAndroidChart 라이브러리 GitHub - PhilJay/MPAndroidChart: A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubb A powerful 🚀 Android chart view / graph view library, suppo.. 2021. 10. 31.
반응형