안드로이드 88

[Android] Preferences DataStore 사용법과 개념

원문 https://medium.com/@shalutd007/welcome-datastore-good-bye-sharedpreferences-4bf68e70efdbhttps://developer.android.com/topic/libraries/architecture/datastore원문을 읽으면서 제가 공부하려고 번/의역한 것입니다. Jetpack DataStoreDataStore는 Key-Value쌍 또는 Protocol buffers를 이용한 Typed Object형태로 데이터를 저장할 수 있게 해주는 솔루션이다.DataStre는 Kotlin의 Coroutine과 Flow를 사용해서 데이터를 비동기적이고, 일관적으로 저장할 수 있다. 또한 SharedPreference로 부터의 migration도 ..

[Kotlin] Channel이란?

원문: https://proandroiddev.com/kotlin-coroutines-channels-csp-android-db441400965f원문을 읽으면서 제가 이해하기 위해 번역한 것입니다.개념만 남기고 예제는 거의 뺐으니 예제를 보시려면 여기로~ Channels Channel은 2개의 Coroutine 사이를 연결한 파이프라고 생각하면 된다.이 파이프는 두 Coroutine 사이에서 정보를 전송할 수 있도록 한다.하나의 Coroutine은 파이프를 통해서 정보를 보낼 수 있고, 다른 하나의 Coroutine은 정보를 받기위해 기다린다. 채널이라는 말을 일상생활에서는 TV에서 제일 많이 쓰는데..채널을 통해서 우리는 방송국에서 쏴주는 방송을 본다. (일방적 커뮤니케이션)사진에서 1번 Corouti..

[안드로이드] FragmentStateAdapter / FragmentPagerAdapter 차이, 사용법

FragmentPagerAdapterFragmentPagerAdapter는 전체 Fragment를 메모리에 올려서 Fragment의 수가 많을 경우 메모리 오버헤드가 올 수 있다. FragmentStateAdapterFragmentStateAdapter는 Fragment의 savedInstanceState만 저장하고 Fragment가 보이지 않을때 (포커스를 잃을때) destroy 시켜버린다. 언제 어느걸 써야할까?따라서 많은 수의 Fragment가 Adapter에 들어갈거라면 FragmentStateAdapter를, 3개의 Fragment이하의 경우 FragmentPagerAdapter를 사용하면된다.

[안드로이드] Decorator, 귀찮은 커스텀 ItemDecoration 만들기는 그만!

그리드뷰나, 카드뷰 같은걸 만들때 나는 매번 커스텀 ItemDecoration 클래스를 만들어서 사용했는데 (그래서 심지어 프로젝트마다 사용법 다름 ㅋㅋㅋㅋㅋ)이 Decorator라는 라이브러리를 사용하면 일률적으로! 그리고 쉽게! 옵션은 다양하게! RecyclerView에 ItemDecoration을 추가할 수 있다. https://github.com/rubensousa/Decorator

[안드로이드] Kotlin Flow를 이용한 순간검색 (Instant Search)을 구현해보자

내가 만든 앱에서 순간검색을 지원하고 싶었던 순간이 많았는데...원래 되는대로 검색 요청 날리다가 이번에 새로운 방법을 알게되서 적어본다.Kotlin에서 Flow가 뭘까...공부하다가 나온 예제에서 발견했다.완성하면 이렇게된다. 전체 프로젝트 Githubhttps://github.com/lx5475/Kotlin-Flow-Instant-Search 간단하게 치킨집 목록을 검색하는 걸로 시작해보도록하겠다. 12345678910111213dependencies { // RecyclerView implementation "androidx.recyclerview:recyclerview:1.1.0" // ViewModel def lifecycle_version = "2.2.0" implementation "andr..

안드로이드 인앱결제 구독 구현 예제!

* 이 글은 개인적 정리겸 복습을 위해 쓰여진 글로, 설명이 미흡한 부분이있을 수 있습니다! 코드 개선점이나 질문있으시면 댓글로 달아주세요~ 결제 구현을 위한 기본적인 준비물들 제 블로그 결제 구현 글에 자세히 설명 해두었으니 여기서는 간략하게 적고 넘어가겠습니다! 1. build.gradle에 결제 라이브러리 추가1implementation 'com.anjlab.android.iab.v3:library:1.0.44'cs 2. AndroidManifest.xml에 결제 권한 추가1cs 3. Google Play Console에 결제 권한이 추가된 APK를 알파 채널에 업로드 4. Google Play Console > 내 앱 클릭 > 개발 도구 > 서비스 및 API >'이 어플리케이션용 라이센스키' 복사..

안드로이드 이미지 URL로 표시하기 (Android ImageView with image url)

안드로이드에서 이미지 URL을 가지고 이미지뷰(ImageView)에 이미지를 가져오는 가장 간단한 방법이있다.손수 하려하면 캐싱, 로딩, 네트워킹 등 건드려야 할 부분이 꽤 많은데, 라이브러리를 이용하면 아주 쉽다.물론 손수하는 것처럼 여러가지 옵션들도 조정 가능하다. 유명한 라이브러리로는 Picasso/Glide/Fresco 3대장이있는데,3가지 다 써본 유저로서 정리를 해보자면... 이정도!강의에서는 Glide를 사용해볼 것이다. -Glide: 제일 많이쓰는 보편적인 것, 자료가 많음-Picasso: 옛날에 많이 쓰였던것, Picasso와 Glide는 사용하는 문법이 비슷해서 원하는 기능에 따라 편한걸로 쓰면됨 (하지만 기능도 거의 비슷)-Fresco: 페이스북이 개발한 이미지 라이브러리로, 사용법이..