[Android/Kotlin/Tip] JSON to Kotlin Class Plugin - json 타입 kotlin data class로 변환 포스팅 썸네일 이미지

Android/TIP

[Android/Kotlin/Tip] JSON to Kotlin Class Plugin - json 타입 kotlin data class로 변환

1. 설명 이번 글에서는 API를 호출하여 Data들을 불러올 때 Kotlin Data Class 타입으로 정의를 하여야 한다. 이때 JSON 타입을 Kotlin Class 파일로 변환하는 작업을 도와주는 플러그인을 사용하여 생성하는 방법에 관하여 알아본다. 예를 들어 보면 우선 1번과 같은 경우에는 market, korean_name, english_name 이 3개의 데이터만을 갖음으로 비교적 간단하게 Data Class 파일 정의가 가능하다. 1. https://api.upbit.com/v1/market/all 2. https://api.upbit.com/v1/ticker?markets=KRW-BTC 하지만 2번과 같은 경우 수십 개의 데이터를 갖는 Data Class를 정의하여야 하며 이는 귀찮으..

2022.08.31 게시됨

[Android/Kotlin] Retrofit2를 통한 API 호출 (with Upbit API) 포스팅 썸네일 이미지

Android

[Android/Kotlin] Retrofit2를 통한 API 호출 (with Upbit API)

1. 요약 이번 글에서는 Retrofit2 라이브러리를 사용하여 API를 호출하여 불러온 데이터를 이용하여 RecyclerView에 나타내는 과정에 관하여 기술한다. Retrofit은 API 통신을 위한 라이브러리로 속도, 편의성, 동기/비동기 처리 등 여러 장점이 존재하는 라이리이다. 사용할 Open API로서 Upbit를 사용할 것이며 이에 관한 내용은 아래 링크에서 확인해보면 된다. 업비트 개발자 센터 업비트 Open API 사용을 위한 개발 문서를 제공 합니다.업비트 Open API 사용하여 다양한 앱과 프로그램을 제작해보세요. docs.upbit.com 작업에 들어가기 전 권한 부여 및 라이브러리 사전 환경 세팅이 필요하다. ● Internet 권한 추가 ● Retrofit 라이브러리 추가 (h..

2022.08.30 게시됨

[Android/Kotlin/Tip] Status Bar Transparent - 상태창 투명 포스팅 썸네일 이미지

Android/TIP

[Android/Kotlin/Tip] Status Bar Transparent - 상태창 투명

1. 설명 이번 글에서는 최상단에서 시간 및 배터리를 표시하는 상태 바(Status Bar)를 투명하게 만드는 방법에 관하여 기술한다. 상태 바를 투명하게 만듦으로써 위 결과 화면에서 보이는 것처럼 레이아웃에 나타낸 이미지가 상태 바까지 포함되어 그려지는 것을 확인할 수 있다. activity_main.xml 메인 레이아웃으로서 ImageView 1개와 TextView 1개로 구성하였다. 상단의 위치한 ImageView서 scaleType으로 fitXY를 줌으로써 지정한 크기의 맞게 이미지 사이즈를 변환하여 나타내 주며, 상태 바를 투명하게 함으로써 상태바 영역에서도 이미지가 나타나도록 할 수 있다. MainActivity.kt SDK 버전에 따라 적용해주어야 하는 것들이 다르다. window 객체는 화..

2022.08.29 게시됨

[Android/Kotlin] CoordinatorLayout - 축소되는 앱 바 포스팅 썸네일 이미지

Android

[Android/Kotlin] CoordinatorLayout - 축소되는 앱 바

1. 요약 이번 글에서는 CollapsingTollbarLayout을 사용하여 App Bar가 축소되며 상단의 고정되는 기능을 구현하는 방법을 기술한다. 이에 추가적으로 RecyclerView를 아래 추가함으로써 아래로 스크롤되는 것에 따라서 App Bar가 어떻게 축소되며 고정되는가를 확인할 수 있다. 2. 레이아웃 2-1. activity_main.xml 구조적으로 다음과 같이 구성되어 있으며 상단의 고정이 될 주요 레이아웃은 CollapsingToolbarLayout 아래 Toolbar와 ImageView를 통하여 나타내게 된다. ● CoordinatorLayout CoordinatorLayout은 강력한 FrameLayout이며 Behaviors을 통하여 단일 부모 내에서 다양한 상호 작용을 구현..

2022.08.28 게시됨

[Android/Kotlin] RecyclerView Divider - 구분선 만들기 포스팅 썸네일 이미지

Android

[Android/Kotlin] RecyclerView Divider - 구분선 만들기

1. 요약 이번 글에서는 RecyclerView에서 각 항목 사이를 구분하기 위해 도와주는 구분선을 삽입하기 위한 방법에 관하여 알아본다. 구분선을 삽입하기 위해서는 이미 정의되어 있는 DividerItemDecoreation을 사용할 수 있으며 ItemDecoration을 상속받은 후 오버라이드 즉, 재정의를 해줌으로써 Custom 한 구분선 삽입도 가능하다. 2. 레이아웃 2-1. activity_main.xml 메인 레이아웃으로서 리스트를 나타낼 RecyclerView 1개로 구성된다. 2-2. item_list.xml 리스트의 항목에 레이아웃으로 TextView 2개로 구성하였다. 3. 코드 및 설명 3-1. MainActivity.kt 구분선을 삽입하기 위해서는 DividerItemDecorea..

2022.08.27 게시됨

[Android/Kotlin] RecyclerView Move to Top - 최상단 이동 포스팅 썸네일 이미지

Android

[Android/Kotlin] RecyclerView Move to Top - 최상단 이동

1. 요약 이번 글에서는 RecyclerView 리스트의 최상단으로 이동하도록 동작하는 버튼을 만드는 방법에 관하여 기술한다. 버튼은 애니메이션을 적용하여서 최상단이 아닐 경우 점점 나타나도록 만들었으며, 최상단이 될 경우 점점 사라져 보이지 않도록 만들었다. 2. 레이아웃 2-1. activity_main.xml 메인 레이아웃으로서 RecyclerView 1개와 FloatingButton 1개로 구성하였다. RelativeLayout을 사용하여서 FloatingButton을 오른쪽 아래의 위치하도록 배치하였다. Floating Button은 리스트가 최상단이 아닐 경우만 보여주기 위하여 보이지 않는 상태이다. 2-2. item_list.xml 리스트 항목을 나타내는 레이아웃으로 TextView 2개로 ..

2022.08.26 게시됨

[Android/Kotlin] Animation Programmatically - alpha, translate, scale 포스팅 썸네일 이미지

Android

[Android/Kotlin] Animation Programmatically - alpha, translate, scale

1. 요약 이번 글에서는 Animation을 코드로(programmatically) 혹은 Animation Resource File로 정의한 후 적용하는 방법에 관하여 기술한다. 구현한 Animation으로는 다음과 같이 3가지가 있다. alpha : 투명도를 조절하며, 투명한 상태에서 점점 불투명하게 함으로써 점점 나타나게 할 수 있음 scale : 크기를 변화시키며, 크기가 0인 상태에서 점점 커지게 할 수 있음 translate : 대상을 이동시키며, 시작과 종료 위치에 따라서 방향을 조절할 수 있음 2. 레이아웃 2-1. activity_main.xml 메인 레이아웃으로서 일반 Button 3개와, Floating Button 3개를 배치하였다. 일반 Button 3개에서는 코드로 정의한 Anim..

2022.08.25 게시됨

[Android/Kotlin] RecyclerView Last Item Check - 리스트 마지막 항목 포스팅 썸네일 이미지

Android

[Android/Kotlin] RecyclerView Last Item Check - 리스트 마지막 항목

1. 요약 이번 글에서는 RecyclerView를 사용하여 만들어진 리스트에서 마지막 항목이 되었을 때를 체크하여 동작을 정의하는 방법에 관하여 기술한다. 2. 레이아웃 2-1. activity_main.xml 메인 레이아웃으로서 RecyclerView 1개로 구성하였다. 2-2. item_list.xml RecyclerView 리스트에서 보여줄 각 항목(Item)의 대한 레이아웃을 정의한 파일로서 TextView 2개로 구성하였다. 3. 코드 및 설명 3-1. RecyclerAdapter.kt RecyclerView의 Adapter로서 각 항목의 Text는 간단하게 항목의 Position 값에 따라 나타내었다. package com.notepad96.recyclerviewlastitem import a..

2022.08.24 게시됨