Develop/Kotlin 37

[kotlin] 코틀린 Android MVVM Retrofit(BE 연결) 구현

이전까지 모두 Room을 통해 MVVM 패턴을 구현해보았는데 이번에는 외부 백엔드와 연결하여 MVVM 패턴을 구현해보도록 하자. Retrofit을 통해 BE와 연결 후 데이터를 가져오는 게시판 예제이다. 비동기 작업은 Corutine을 사용하였고 자세한 내용과 공부한 내용은 주석을 달아 놓았다. Retrofit에 대해 잘 모른다면 다음 링크를 통해 알아보고 온 후에 아래 내용을 보면 이해가 더욱 쉬울 것으로 예상한다. [kotlin] 코틀린 Android Retrofit 활용(기상청단기예보 오픈 API 사용) Retofit이란? 이번에는 Retofit 라이브러리를 이용하여 기상청 단기예보 오픈 API와 통신하는 방법에 대해서 알아보도록 하자. Retofit이란 모바일에서 HTTP API 통신을 할 때 사..

Develop/Kotlin 2022.05.01

[kotlin] 코틀린 Android RecyclerView Item 오류(Position 오류)

RecyclerView를 구현할 때 Item이 카운트 되지 않아 똑같은 데이터를 부르거나 item을 재사용 하지 않는 오류가 종종 발생한다. 예를 들어 item의 갯수는 10개지만 처음에 화면에 보이는 item이 4개라서 4개의 뷰만 계속해서 화면에 뿌리는 것이다. 이러한 현상이 발생하는 이유는 RecyclerView의 재사용이다. RecyclerView는 리소스를 아끼기 위해 뷰를 재사용한다. 그래서 재사용을 막기 방법을 쓰기도 하는데 그러면 RecyclerView의 목적이 손실되므로 권장하는 방식이 아니다. 해결 방법은 다음과 같다. RecyclerView Adapter에 다음 메소드를 오버라이드 하는 것이다. override fun getItemViewType(position: Int): Int {..

Develop/Kotlin 2022.05.01

[kotlin] 코틀린 Android Retrofit 활용(기상청단기예보 오픈 API 사용)

Retofit이란? 이번에는 Retofit 라이브러리를 이용하여 기상청 단기예보 오픈 API와 통신하는 방법에 대해서 알아보도록 하자. Retofit이란 모바일에서 HTTP API 통신을 할 때 사용하는 라이브러리이다. 안드로이드 애플리케이션에서 통신 기능에 사용하는 코드를 사용하기 쉽게 만들어놓은 라이브러리로 REST 기반의 웹서비스를 통해 JSON 구조를 쉽게 가져오고 업로드할 수 있다. 다음에 나올 코드를 보다 보면 기상청 단기예보 오픈 API Key가 숨겨진 것을 확인할 수 있는데 API Key 숨기는 법을 모른다면 다음 링크를 통해서 글을 읽어보고 오면 좋을 것 같다. [kotlin] 코틀린 Android local.properties에 API Key 숨기고 활용하는 방법 이번에는 local.p..

Develop/Kotlin 2022.04.19

[kotlin] 코틀린 Android local.properties에 API Key 숨기고 활용하는 방법

이번에는 local.properties에 API Key를 숨기고 활용하는 방법에 대해서 알아보자. 개발하다 보면 많은 API Key를 사용하게 되는데, 이런 많은 Key를 가지고 Git이나 오픈되어 있는 공간에서 작업을 하다 보면 Key가 노출되어 악용될 위험이 있다. 이럴 때를 대비해서 Key를 숨기고 활용하는 방법에 대해서 알면 참 좋을 것 같다! local.properties 우선 local.properties 자신이 숨기고픈 Key를 입력한다. # api url url.weather="xxxxxx" # api key api.key="xxxxxx" # kakao map rest api key kakao.map.rest.api.key = "xxxxxx" 입력을 했다면 build.gradle(Modul..

Develop/Kotlin 2022.04.19

[kotlin] 코틀린 Android 코루틴(Coroutine) 활용

이번에는 코틀린에서 자주 사용되는 코루틴(Coroutine)에 대해서 알아보도록 하자. 코루틴은 스레드와 기능적으로 비슷하지만 하나의 스레드 내에서 여러 개의 코루틴이 실행되는 개념으로 비동기 프로그래밍에 권장하는 동시 실행 설계 패턴이다. 이전에 알아보았던 MVVM 패턴에서도 코루틴을 사용하여 텍스트를 DB에 저장할 때 사용된 것을 확인할 수 있다. 코루틴은 단일 스레드 내에서 여러 개의 코루틴을 실행할 수 있기 때문에, 많은 양의 동시 작업을 처리할 수 있으면서 메모리 절약의 장점이 있다. 쉽게 생각해서 하나의 스레드 내에 여러 개의 코루틴을 통해 작업을 할 수 있는 것이다. 코루틴에 대해서 간단하게 알아보았으니 활용하는 방법에 대해서 알아보도록 하자. Gradle 설정 우선 프로젝트를 하나 생성하고..

Develop/Kotlin 2021.11.19

[kotlin] 코틀린 Android MVVM 패턴 구현

이전에 Room DB를 통해 텍스트를 입력하면 텍스트가 저장되어 UI에 뿌려지는 방식을 구현해봤다. 이번에는 MVVM 패턴에 대해서 알아보자. MVVM 패턴이란 Model, View, ViewModel을 가리키며 ViewModel을 사용하여 Model과 View를 분리하는 것이 특징이다. View는 xml, Activity, Fragment 등이 되고, Model은 내부/ 외부 DB가 된다. Repository로 Room이나 다른 웹 서비스에 접근하고 ViewModel에 collback 해주면, ViewModel이 observer에 response해준다. (LiveData를 통해 View를 관찰) 그럼 LiveData와 이전에 만들었던 Room을 통해 MVVM 패턴을 구현해보자. Room DB에 대한 내..

Develop/Kotlin 2021.08.30

[Android] 안드로이드 앱 배포 시 필요한 이미지

아이콘 무료 벡터 아이콘 및 스티커 - 다운로드할 수 있는 수천 개의 리소스 프로젝트를 위한 무료 벡터 아이콘과 스티커를 다운로드하세요. 디자이너가 만든, 디자이너를 위한 리소스. PNG, SVG, EPS, PSD, CSS 형식 www.flaticon.com 무료 아이콘을 주로 위 사이트에서 사용하고 아이콘도 사용하고 있다. Android/iOS 앱 아이콘을 자동으로 만들어주는 사이트 모바일 앱 개발 시 플랫폼 별로 다양한 크기의 아이콘을 준비해야 하는데 일일이 작업하기는 귀찮겠죠? 이런 귀찮은 작업을 한번에 해결해주는 자동으로 아이콘들을 만들어주는 사이트들입니 smok95.tistory.com 그래픽 이미지 Online Graphic Generator The Online Graphic Generator..

Develop/Kotlin 2021.08.27

[kotlin] 코틀린 Android Room DB 활용

이번에는 안드로이드 앱을 개발하면서 DB를 사용할 때 활용할 수 있는 Room DB에 대해서 알아보자. Room DB(DataBase) - AAC(Android Architecture Component) 중 하나이다. - ACC는 앱을 견고하고, 실험 가능하고, 유지보수성이 뛰어나도록 만들어주는 라이브러리 모음이다. - Room은 SQLite DB를 모두 사용할 수 있고 더 쉽게 사용할 수 있도록 하는 라이브러리이다. - ACC중 하나이기 때문에 다른 구성요소인 LiveData, ViewModel 등의 Component을 함께 사용하여 아주 간편하게 DB를 관리하고 UI를 갱신할 수 있다. Room DB 구성요소 - Entity: 데이터베이스 안의 테이블을 클래스로 나타낸 것이다. - DAO(Databa..

Develop/Kotlin 2021.08.26

[kotlin] 코틀린 Android 현재 위치를 GPS 좌표로 구하기

안드로이드 개발을 하다 보면 위치를 이용해서 구현해야 하는 기능이 있다. 그럴 때 우리는 GPS 좌표를 통해 수행하게 된다. 이번에는 현재 위치를 GPS 좌표를 통해 구해보자. Gradle 설정 우선 build.gradle(project) 파일에 Android SDK 레파지토리(Repository)를 설정한다. 구글 플레이 서비스 API를 통해 위치 값을 가져오기 위해 라이브러리를 빌드한다. implementation 'com.google.android.gms:play-services-location:18.0.0' 위 코드를 작성하고 우측 상단에 있는 'Sync Now'를 누른다. AndroidManifest.xml 사용자의 위치를 받아오기 위해 권한을 추가한다. MainActivity 이제부터는 코드적..

Develop/Kotlin 2021.08.13

[kotlin] 코틀린 Android 공공데이터 오픈 API 활용(JSON 문서)

이전에 XML 형식으로 오픈 API를 요청하여 데이터를 확인해 보았다. [kotlin] 코틀린 Android 공공데이터 오픈 API 활용(XML) 이번에는 다양한 데이터가 있는 공공데이터 포털을 통해 오픈 API를 활용해려고한다. 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법 fre2-dom.tistory.com 이번에는 JSON 형식으로 오픈 API를 요청하여 데이터를 확인해보자. 공공데이터 오픈 API를 신청하는 방법은 위 링크를 통해 알아보고 오면 좋을 것 같다. 그럼 공공데이터 오픈 API 신청까지 끝났다고 가정하고 진행하겠다. 우선 기본 정보 목록 조회 미리 보기 과정에서 JSON으로 요청하기 위해 “&_type=json”을 추가하여 요청한다..

Develop/Kotlin 2021.08.08