본문 바로가기

Kotlin/안드로이드 공부

(53)
RecyclerView 뽀개기 RecyclerView에 내가 하려던 것: 1. Databinding 2. DiffUtils 3. 다중선택 (RecyclerView Selection) 세 가지를 한 번에 하려다 보니까 모두 적용한 예시는 절대 없을 뿐더러 어디서 오류가 나는지 찾기가 힘들었다. ㅠㅠ Databinding DiffUtils NotifyDataChanged() 처럼 전체 데이터를 바꿔줄 경우 flicker 현상이 일어날 수 있다. DiffUtils의 존재를 알게 되었고 당장 적용해보고 싶었다. 하지만 검색을 하면 할수록 새로운 개념들이 나온다. NotifyDataChanged() 도 좋은 개념인 줄 알았는데 전혀 아니었다. 1. DiffUtils (Callback) 2. AsyncListDiffer (itemCallback..
kotlin enum mrgamza.tistory.com/628?category=571010
Koin 의존성 주입 Spring 개념 공부할 때 들어만 봤던 의존성 주입..! 아직 제대로 된 개념을 몰라서 다시 찾아보려고 한다. 의존이란 하나의 클래스가 다른 하나의 클래스에 의존하는 것을 의미한다. A클래스가 객체를 만들기 위해 B를 필요로 한다면 B는 A의 의존 대상이 된다. 의존성 주입이란? 자동차 회사는 타이어 회사에 의존한다. Car 클래스 안에서 매번 Tire 클래스의 객체를 생성해야 Car 클래스의 객체를 만들 수 있다. 하지만 자동차 공장에서 타이어를 만들지 않고 요청 후 받아와 사용하는 경우가 대부분이다. 이렇게 외부의 의존관계가 있는 대상을 가져오는 것을 의존성 주입(DI) 이라고 한다. 이렇게 외부에서 타이어 객체를 전달하는 행위를 의미하는 것 같다. - 컴포넌트 간 결합도 감소 - 코드 재사용성 증..
ViewBinding vs DataBinding 어쩐지 내가 알고 있는 개념과 달라서 중간에 살짝 헷갈렸다. 두 개는 다른 개념! viewbinding은 databinding을 좀 더 light하게 쓰기 위한 것으로 단순하게 findviewbyid 를 쓰지 않기 위한 목적이 크다. 따라서 databinding과 비교했을 때 동적인 UI콘텐츠를 제어할 수 없고 bindingAdapter와 같은 양방향 데이터 바인딩은 불가능하다. 하지만 내가 지금 아직도 헷갈리는 것은 livedata에 observer를 붙여서 쓰는 것과 databinding 중에 한가지 방법을 택해야 하는 것인가?... 두 개를 같은 목적으로 쓰이는가? 이다 어차피 livedata에 옵저버를 붙이면 그 안에서 뷰를 바꿔준다고 알고 있는데 데이터 바인딩을 한다면 자동으로 바뀌는 것 아닌가..
Google Map API 총정리 디버그용 API 디버그용 API는 구글API콘솔 오른쪽에 친절하게 나와있듯이 윈도우 기준 cmd창에 keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 을 입력했을 때 나오는 SHA-1 값을 패키지명과 함께 이 곳에 입력한다. 릴리스용 API (주의: 릴리스용 API는 일단 구글API콘솔에서 디버그용과 별개의 새 프로젝트를 생성해야 한다.) 안드로이드 스튜디오에서 key를 하나 생성하고 윈도우 기준 cmd창에 keytool -v -list -keystore 내 프로젝트 기준 key를 생성한 위치 ex) keytool -v -list ..
No Activity found to handle Intent : android.intent.action.VIEW 뻘짓했네 ㅠㅠ 인텐트를 딴 클래스에서 쓰는데 왜 안되나 했다... 매니페스트에 인텐트필터 추가하고 이런거 다 필요없고... Uri.parse("tel:"+mapPOIItem.userObject.toString().split(",")[1]) "tel:" 을 넣어줍시다... (띄어쓰기도 하면 안된다고 함)
카카오맵 local api - rect 사용법 ?rect="여기에 들어갈 것은 무엇인가?" 문서도 자세하지 않고, 개발자 포럼 답변도 뭔가 아리송했따. 여러번의 시도 끝에.... 결론은 나는 이렇게 했다. onMapViewMoveFinished에서 지도에서 손을 뗸 순간의 화면의 BottomLeft값과 TopRight값을 받아왔다. 그리고 각각 저장해주었다. left = mapView.mapPointBounds.bottomLeft.mapPointGeoCoord.latitude.toString() bottom = mapView.mapPointBounds.bottomLeft.mapPointGeoCoord.longitude.toString() right = mapView.mapPointBounds.topRight.mapPointGeoCoord.latitu..
retrofit2 카카오 보호되어 있는 글입니다.