본문 바로가기

전체 글

(107)
[TIL] Kotlin Coroutine의 구조와 간단한 예제 -1- Coroutine Coroutine이란? Coroutine은 비동기적으로 실행되는 코드를 간소화하기 위한 실행 설계 패턴으로 mainroutine과 subroutine에 suspend와 resume을 통해 routine들 간의 비선점형 멀티태스킹을 할 수 있도록 하는 프로그램 구성요소이다. 선점형, 비선점형 멀티태스킹?? 선점형 멀티태스킹 : 멀티코어를 사용해서 동시에 여러가지 작업을 하는 것으로 하나의 프로세스가 다른 프로세스 대신에 프로세서를 강제로 차지할 수 있어 병행성이 있다 - 쓰레드 비선점형 멀티태스킹 : 하나의 프로세스가 CPU를 할당받으면 종료되기 까지 다른 프로세스가 CPU를 강제로 차지할 수 없어 동시성은 있지만, 복수의 작업을 동시에 처리하는 것이 아니라 병행성은 없다. - 코.. 2023. 9. 22. 18:20
[TIL] Kotlin Navigation 라이브러리를 통해 Fragment 전환 -1- Navigation Library https://developer.android.com/kotlin/ktx?hl=ko https://developer.android.com/jetpack/androidx/releases/navigation?hl=ko build.gradle에 적용하는 Navigation Library에는 자체적인 ktx 버전이 있어서 dependencies에 추가하기전에 버전확인을 하면 좋을 것 같다. 현재 2.7.2 버전이 최근에 릴리즈된 버전이지만, API 34 레벨이상을 요구하므로 버전을 낮춰서 사용할 것이다. 추후에 target API 34이상의 앱을 만들게 될 경우에 추가할 예정이다. Navigation Library Navigation Library란?? Android 앱.. 2023. 9. 21. 23:40
[TIL] 공공 데이터 API 받아오기 / Retrofit2, OkHttp3 를 사용한 간단한 앱 -1- 공공 데이터 API 받아와 미세먼지 확인 앱 만들기 1. API Key 생성 https://www.data.go.kr/index.do 웹 페이지 접속 후 원하는 공공 데이터 검색. 초기 화면 중앙에 위치한 ' 어떤 공공 데이터를 찾으시나요? ' 에 원하는 데이터 입력 후 스크롤을 조금 내리면 오픈 API 탭을 확인할 수 있다 해당 탭에서 원하는 데이터 선택한다. 글에서는 한국환경공단_에어코리아_대기오염정보를 받아와 지역별 미세먼지 지수를 확인하는 앱을 만든다. 원하는 공공데이터 활용신청을 통해서 API Key를 얻으면 된다. 학습용 앱 생성 연습 등 임의대로 작성하면 바로 이용할 수 있다. 활용 신청을 하고 나면 마이페이지 등에서 해당 Key값을 확인할 수 있다. 서비스 정보에 End Point .. 2023. 9. 19. 20:28
[TIL] Kotlin GoogleMaps 만들기 - 2. Fragment에서 띄우기 / Geocoder -1- Fragment에서 GoogleMap 생성하기, Geocoder Google Map API키 생성 및 GoogleMap에 내용은 https://junes-daily.tistory.com/36 에서 다루고 GoogleMaps Fragment, Geocode 에 대해서 작성함 [TIL] Kotlin GoogleMaps 만들기 - 1. Activity에서 띄우기 [오늘 배운 내용] -1- GoogleMaps를 통해 MapView 만들기 - Activity에서 띄우기 1. GoogleMap API키 받아오기 2. build.gradle에 dependencies 추가 3. Manifest에 ① 에서 받아온 API Key넣어주기, 권한 받아오기( 사용자에 junes-daily.tistory.com 1. Ne.. 2023. 9. 18. 19:10
[TIL] Kotlin GoogleMaps 만들기 - 1. Activity에서 띄우기, 현재 위치 받아오기 -1- GoogleMaps를 통해 MapView 만들기 - Activity에서 띄우기 1. GoogleMap API키 받아오기 2. build.gradle에 dependencies 추가 3. Manifest에 ① 에서 받아온 API Key넣어주기, 권한 받아오기( 사용자에게 직접 권한요청을 해도 된다 ) 4. xml에서 MapView 생성하기. 5. MainActivity에서 GoogleMap 만들기 GoogleMap API Key생성하기 https://cloud.google.com/apis?hl=ko 접속 화면 좌측 라이브러리 탭으로 이동 Maps SDK for Android 선택 사용 클릭 사용자 인증 정보 만들기 클릭 후 API 키 항목 선택 후 진행 결제 정보 입력하라는 내용 따라가서 진행하면 된.. 2023. 9. 18. 16:01
[TIL] Kotlin 이미지 로딩 라이브러리 Glide, Coil -1- Glide Glide란? 안정성과 성능 면에서 우수한 이미지 로딩 라이브러리로, 앱 전반적인 이미지 관리를 할 수 있는 라이브러리이다. Glide를 사용하는 이유 비동기적인 이미지 로딩 Glide는 백그라운드 Thread 에서 비동기적으로 이미지를 로딩하므로 UI Thread가 차단되거나 멈추는 현상을 방지한다. 이로인해 반응성과 성능이 향상 된다. 다양한 방식의 이미지 로드 Glide는 원격 서버, 로컬 파일, 리소스 등 다양한 소스에서 이미지를 로드할 수 있다. 이를 통해 네트워크에서 이미지를 다운로드하거나 디바이스의 저장소에서 이미지를 가져올 수 있다. 메모리 및 디스크 캐싱 Glide는 메모리와 디스크에 캐시하여 동일한 URL또는 리소스에 대해 중복된 요청을 방지한다. 이를 통해 반복적인 .. 2023. 9. 15. 13:23
[Error] RecyclerView ImageView에 파란Image가 불러와지는 오류 [오류,에러 등등] 1. DataBinding으로 RecyclerView를 적용하는 것을 연습하고 완성했는데 Image가 null이 되는 게 아니라 의문의 파란색 Image가 로드가 되는 오류가 생겼다 해결방법 - viewHolder에 glide 적용 class ItemViewHolder (private val binding: ItemViewBinding) :RecyclerView.ViewHolder(binding.root){ fun bind(perfumeList: PerfumeData){ binding.favoritePerfume = perfumeList Glide.with(binding.itemViewImg.context) .load(perfumeList.itemImg) .into(binding.it.. 2023. 9. 15. 01:29
[TIL] Kotlin DataBinding/ DataBinding과 ViewBinding과 차이 [오늘 배운 내용] -1- DataBinding DataBinding이란? DataBinding은 xml 레이아웃 파일과 Activity, Fragment 등의 UI컴포넌트를 자동으로 바인딩하는 라이브러리다, DataBinding은 ViewBinding과 같이 Acitivty, Fragment에서도 Layout의 오브젝트들에 접근이 가능하며 layout의 xml 안에서도 변수를 선언하는 등 양뱡향의 통신이 가능하다. Layout 파일에서 컴포넌트를 바인딩함으로 Activity에서 많은 UI 프레임 워크 호출을 하지 않을 수 있어 파일이 더 단순화 되고 유지관리가 쉬워진다. ViewBinding과의 차이점 1. ViewBinding을 사용하게 되면 Layout에 Layout 태그가 필요하지 않다. Data.. 2023. 9. 14. 19:59