코틀린 36

[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

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

이번에는 다양한 데이터가 있는 공공데이터 포털을 통해 오픈 API를 활용해려고한다. 공공데이터 포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase www.data.go.kr 공공데이터 활용신청 우선 공공데이터 포털에 들어가 회원가입, 로그인 후 자신이 원하는 공공데이터 오픈 API를 선택한다. 예제에서는 한국관광공사_고캠핑정보 조회 서비스로 활용신청 했고 활용신청 후 1~ 2시간 후에 승인이 난다. 위 오픈API 응답 표준은 XML 이며, JSON을 요청할 경우“&_type=json”을 추가하여 요청 가능하다. 하지만 여기 예제에서는 XML 형식으로 구현했기..

Develop/Kotlin 2021.08.04

[kotlin] 코틀린 Android Kakao Login(카카오 로그인) api 활용

이번에는 Kakao Developers에서 지원해주고 있는 카카오 로그인 api를 활용하여 로그인 기능을 구현해보도록 하겠다. Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 요구 사양 시작하기 앞서 Android SDK를 사용하기 위한 최소 요구 사양을 확인하자. Android Studio 3.6.1 이상 API 19: Android 4.4(KitKat) 이상 Java 8 이상 Gradle 설정 우선 프로젝트를 하나 생성하고 build.gradle(project) 파일에 Android SDK 레파지토리(Repository)를 설정한다. 다음 코..

Develop/Kotlin 2021.07.31

[AWS] 아마존 웹 서비스 코틀린 Android + Amazon Cognito

이전에 자바로 다뤘던 aws Amazon Cognito 구현을 코틀린으로 구현 해보자. amplify 연동과 cognito 구현은 이전에 다뤘기 때문에 링크를 통해 확인하면 좋을 것 같다. [AWS] 아마존 웹 서비스 Amplify + Android 프로젝트 연동 AWS Amplify와 Android 앱을 연동해보자. 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 제조 AWS를 활용한 Siemens의 에너지, 의료 서비스, 제조 분야 혁신 Siemens가 AWS를 사용하여 어떻게.. fre2-dom.tistory.com [AWS] 아마존 웹 서비스 Android + Amazon Cognito 구현 지난번에 AWS Amplify와 Android 앱을 연동해보았다. [AWS..

Develop/Kotlin 2021.07.29

[kotlin] 코틀린 Android Bottom Navigation View 생성

이전에는 액티비티 프로젝트에 있는 바텀 네비게이션 바를 사용했는데 코드 이해를 위해 새롭게 만들어 보려고 한다. 이미 있는 프로젝트로 사용하면 시간은 빠를 수 있지만 코드 이해는 더딘 거 같고 커스텀으로 만들면 더 많은 예시를 사용할 수 있을 것 같다는 생각에 시도해 보았다. Gradle Scripts -> build.gradle에 들어가 다음 코드를 추가하고 sync now를 해준다. dependencies { implementation 'com.google.android.material:material:1.3.0' } 그리고 res에 안드로이드 리소스 디렉터리를 menu 타입으로 생성한다. 다음으로 navigation 타입으로 또 하나의 리소스 디렉터리를 만들고 다음과 같이 작성한다. 이제 어떠한 화..

Develop/Kotlin 2021.07.28