recyclerview

Android/Common

[Android] Paging3 + Admob Native Ad

안녕하세요 점냥입니다:) 좋은 앱 서비스를 완성했다면 그다음 고민은 수익 모델이죠. AWS 등 클라우드 서비스를 통해 서버를 구축했다면 다달이 나오는 서버 비용을 무시할 수 없기 때문이에요... 그렇기 때문에 우리 Android 개발자들은 Admob 광고 SDK를 앱에 잘 녹여들 수 있게 고민을 시작해야 합니다. !!!? 갑자기 Admob.. 왜..? 그 이유는 최근 Admob 네이티브 광고를 개인 프로젝트에 적용하느라 아주 고생을 많이 했기 때문이에요... 라이브러리 자체를 적용하는 것은 어렵지 않아요. 하지만 우리 프로젝트 앱들은 모든 코드가 Activity class 하나 파일에 들어가 있는 형태는 아니잖아요? 여러 가지 다양하고 복잡한 구조로 구성되어 있는 데, 공식 문서에서 설명하는 내용은 간단..

Android/Common

[Android] RecyclerView - ConcatAdapter

안녕하세요. 점냥입니다:) 굉장히 오랜만에 글을 쓰네요 ㅎ. 다들 잘 지내셨나요? 오늘은 RecyclerView 새로운 버전이 나오면서 새로운 Adapter인 ConcatAdapter에 대해서 알아보겠습니다. 사실 처음에는 MergeAdapter라는 이름으로 나왔지만 ConcatAdpater로 이름이 변경되었습니다. ConcatAdapter RecyclerView는 하나의 Adapter만을 가지며, 반복되는 뷰 리스트를 그리는 위젯입니다. 그 이유 때문에 사진과 같이 Header 혹은 Footer 등을 표현하기 위해 포지션으로 구분하고, 각 뷰 타입의 로직을 포지션 별로 구분하여 넣어주어야 했습니다. 이는 한 클래스에서 2가지 역할을 가지는 방법이며, 뷰가 복잡해질수록 코드가 비대해지는 안 좋은 방법이었..

Android/Common

[Android] 뷰의 성능 개선 - RecyclerView

들어가기 전 이번 포스팅에서는 Android 앱에서 가장 많이 사용한다고 볼 수 있는 RecyclerView의 성능 개선에 대해서 알아보자. 하지만 먼저 알아야 할 도구가 있다. 바로 GPU 렌더링 막대기 개발자 옵션 -> 프로필 GPU 렌더링에서 킬 수 있는 이 기능은 기기의 렌더링 상황을 시각적으로 확인하여 어느 부분에서 지연이 되고 있는지 알 수 있다. 아래는 예시 사진으로 왼쪽은 갤럭시 설정 앱, 오른쪽은 필자가 만든 WASK 앱이다. 가로 막대기 안드로이드는 초당 60fps를 가져야 사용자는 부드럽다고 느낀다. 프레임 기준으로 계산해보면 1000ms / 60 fps = 16.66...로 프레임 하나당 16ms내에 생성돼야 한다. 가로 막대기는 16ms를 뜻한다. 세로 막대기 세로 막대기는 한 프..

Android/Common

[Android] RecyclerView의 최상단 최하단 감지하기

안녕하세요 점냥입니다:) 페이징을 구현하려고 할 때, Jetpack Paging 라이브러리를 쓰지 않는 다면 우리는 리스트의 끝을 도달하는 시점을 확인해야 합니다. recyclerview에서는 함수로 쉽게 제공해주고 있습니다! canScrollVertically(int direction) // 수직 상단 하단 감지 canScrollHorizontally(int direction) //수평 상단 하단 감지 수직 기준 direction 값이 1이면 하단 방향 , -1이면 상단 방향 수평 기준 direction 값이 1이면 오른쪽 방향 , -1이면 왼쪽 방향 위 조건을 사용하여 아래처럼 구현할 수 있습니다. myList.setOnScrollListener(new RecyclerView.OnScrollListe..

점냥
'recyclerview' 태그의 글 목록