본문 바로가기

개발 노트

(140)
[Android] 로그캣 오류가 세로로 뜨는 이상한 문제 이런식으로 로그캣의 에러들이 이상하게 세로로 뜨는 문제를 접했다..  아래 블로그에는 invaled cache사용해서 제거하면 그동안 저장되어있었던 임시 데이터들이 제거되면서 잘 작동한다고 나와있었다그래서 시도해봤지만 내 로그캣 오류는 똑같았다  맨 왼쪽에 soft wrap이라는걸 클릭한 상태로 로그캣을 실행해서 발생한 문제였다이걸 해제하고 다시 실행하니깐 정상적으로 잘 뜨는것을 확인할 수 있었다    # 참고자료https://kumgo1d.tistory.com/entry/AndroidKotlin-Android-Studio%EC%97%90%EC%84%9C-logcat%EC%9D%B4-%EB%8F%99%EC%9E%91%ED%95%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%9D%B4%EC..
[Android/Kotlin]Kakao 주소검색 API 사용해서, 지도에서 지역검색 데이터 받아오기 일단 지금까지는 KakaoMap Api v2를 사용해서 카카오지도를 띄워주는 부분까지 했다 내가 구현하고 싶은것은, 지역에 해당하는 검색어를 입력하면 해당 지역의 위경도를 가져와서 해당지역으로 지도가 이동하면서 마커를 찍어주는 부분을 구현하고싶었다. 그럴려면, 일단 검색한 지역에 해당하는 위경도를 가져와야하는데, 마침 kakao에서 지역을 검색하면 해당 지역의 위경도값과 다른 기타값들을 받아오는 주소검색 API가 존재해서 이 API를 사용해서 가져와보려고한다  여기서 첫번째 나와있는 주소검색하기 API를 사용했다https://developers.kakao.com/docs/latest/ko/local/dev-guide#address-coord-response-body-document-road-address..
[Android/Kotlin] KakaoMap 주소 검색 API [HTTP 401에러] KakaoMap을 사용해서 주소검색을 하기위해주소검색 API를 사용해서 검색 데이터를 받아오는중에 아래와같은 HTTP 401에러가 발생했다 오류 코드: retrofit2.HttpException: HTTP 401 카카오 공식문서를 살펴보니깐 401에러는 인증 토큰이 만료되거나 잘못되었을때 발생하는 코드라고한다그래서 인증키인 REST API키를 살펴보았는데 아무 문제가 없었다 그래서 코드상에 문제가 있나하고  REST API키를 넣은부분을 살펴봤더니일단 나는 Constant파일에 BuildConfig를 통해 key값을 선언해놨는데 아래코드처럼 써야되는데, 자동 입력되는 형식으로 제대로 안보고 썼더니 다른키값이 입력되어있었다,,,,아래코드로 고치니 해결되었다const val SEARCH_REST_API_KE..
[Android/Kotlin] Bottom Navigation View 구현 먼저  build.gradle에 아래 코드들을 추가해준다plugins { id 'kotlin-kapt'}dependencies { implementation("androidx.navigation:navigation-fragment-ktx:2.7.7") implementation("androidx.navigation:navigation-ui-ktx:2.7.7")}build.gradle(Module)  그리고 Activity와 Fragment들을 생성해준다 # Navigation Graph 생성 res 폴더 아래에 navigation 디렉터리를 만들고, nav_graph.xml 파일을 생성한다    nav_graph.xml navigationapp:startDestination=..
[Android/Kotlin] KakaoMap API Android v2 사용하기 kakaomap api를 사용해서 지도를 띄워보는 것을 해볼것이다 kakaomap api v1은 2024년 6월달에 종료된다고해서 v2로 진행했다바뀐지 얼마안돼서 블로그 자료가 진짜 없다,, 정말 공식문서만 보고해야되는 상황,, 이참에 공식문서 보는법 제대로 배워야겠다  https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com먼저 위 링크에 들어가서 [내 애플리케이션]에 들어가서 "애플리케이션 추가하기"를 눌러서 앱을 추가해줘야한다 작성하고 저장을 눌러준뒤왼쪽바쪽에 있는 앱키를 누르면 네이티브 앱키가 보일..
[Android/Kotlin] Paging3란? # Paging3란? 페이징 라이브러리는 로컬 데이터베이스 또는 네트워크(Remote)의 데이터를 페이지 단위로 UI에 쉽게 표현할 수 있도록 도와주는 라이브러리다.  라이브러리를 사용하지 않고 기존에 ScrollListener을 사용해서 무한스크롤을 구현하기 위해서는 RecyclerView와 같은 리스트 UI가 상단 또는 하단에 도달했는지 판단하는 코드를 작성하고, 다음 페이지를 로드(or Refresh)하는 코드를 또 작성해야만 했다.네트워크오류, 스크롤 감지 이상과 같은예외 처리 코드도 상당했다 페이징은 데이터를 가져올 때 한 번에 모든 데이터를 가져오는 것이 아니라, 일정한 덩어리(페이지)로 나눠서 가져온다예를 들어, 구글에서 어떤 키워드로 검색하게 되면 결과의 모든 데이터를 한 번에 가져오는 것..
[Android/Kotlin] collect과 collectLatest의 차이점? [Flow] collect는 flow에서 발행되는 모든 데이터를 순서대로 처리하는데 반해,collectLatest는 flow에 새로운 데이터가 들어오면 기존 suspend 작업을 버리고 새로운 suspend 작업을 수행한다 paging에서는 flow 데이터가 시간에 따라 계속 갱신되고 기존 데이터는 무효화되는 구조를 갖고 있으므로 구글은 UI에 expose하는 데이터에 대해서는 collect가 아닌 collectLatest를 쓰도록 권장하고 있다https://medium.com/androiddevelopers/fetching-data-and-binding-it-to-the-ui-in-the-mad-skills-series-cea89868b3e1    # collect과 collectLatest의 차이점은 무엇일까?F..
[Android/Kotlin] Flow 란? (StateFlow, SharedFlow) Flow는 LiveData의 Android 플랫폼 종속적이고 UI가 없는 곳에서 LiveData를 사용하기가 어렵다언어 의존성(kotlin)만 지니는 domain layer 에서는 liveData를 쓰기 어렵다위의 두 문제를 해결하기위해 탄생함  즉, Flow를 사용하면클린아키텍처 관점에서 LiveData는 플랫폼 종속적이므로 Domain 계층에 사용할 수 없지만,  Flow는 Domain 계층에 사용할 수 있다결과를 필터링하는 등의 다양한 기능을 하는 함수들을 사용할 수 있다크게 위와같은 장점이 있다   # Flowfun simple(): Flow = flow { // flow builder for (i in 1..3) { delay(100) // pretend we are doing..
[Android/Kotlin] Hilt란? # Hilt란?공식문서에 정리되어있는 Hilt의 정의이다Hilt는 프로젝트의 모든 Android 클래스에 컨테이너를 제공하고 수명 주기를 자동으로 관리함으로써, 애플리케이션에서 DI를 사용하는 표준 방법을 제공합니다. 그럼 DI란 뭘까?DI는 Dependency Injection의 약자로, 의존성 주입을 뜻한다특정 한 객체가 다른 객체를 필요로 할 때 이 의존성을 제공하는 기술이 DI이다객체가 다른 객체를 필요로 하면, 외부에서 해당하는 객체를 생성하여 필요한 객체에 넘겨주게 된다 DI는 아래와 같은 장점이 있다.코드 재사용성 향상결합도 감소테스트 용이성의존성을 가짜 객체나 Mock 객체로 대체하여 테스트 수행 가능코드의 유연성 및 확장성, 가독성 향상새로운 기능을 추가하거나, 기능을 수정할 때 미치는 ..
JSON 보기편하게 변환 해주는 사이트 아래 사이트를 사용하면 이렇게 보기 힘들게 되어있는 Json 데이터들을  이런식으로 좀 더 보기 편하게 바꿔준다. 그냥 JSON데이터를 복붙해주면 된다        # Json 보기 편하게 바꿔주는 사이트https://codebeautify.org/jsonviewer# Best JSON Viewer and JSON Beautifier OnlineOnline JSON Viewer, JSON Beautifier and Formatter to beautify and tree view of JSON data - It works as JSON Pretty Print to pretty print JSON data.codebeautify.org http://jsonviewer.stack.hu/ Online JSON ..