728x90
반응형

kotlin 20

[프로그래머스] 추억 점수 (Java/Kotlin) - Lv.1

프로그래머스 에서 코딩테스트 Lv.1 문제 추억 점수 를 풀어봤습니당~ 언어는 Java / Kotlin 으로 작성했어요 https://school.programmers.co.kr/learn/courses/30/lessons/176963?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr https://school.programmers.co.kr/learn/courses/30/lessons/176963?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록..

[프로그래머스] 콜라문제(Kotlin) - Lv.1

프로그래머스 에서 코딩테스트 Lv.1 문제 콜라문제 를 풀어봤습니당~ 언어는 Kotlin 으로 작성했어요 https://school.programmers.co.kr/learn/courses/30/lessons/132267?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 [문제] 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 ..

[Android/Kotlin] Compose State 상태, 기본 레이아웃 사용하기(Box, Card, Image, IconButton, Icon)

Android Jetpack Compose 사용 시 알아야 할 state 상태와 기본 레이아웃‼️ 🚨 State - 앱의 상태 Android Compose 는 현재 상태에 따라 Composable 를 구성하여 사용자에게 보여질 화면을 구성한다. 만약 상태(state) 가 변화게 되면 재구성(Re-Compose) 를 통해 화면을 업데이트한다. Composable 은 상태를 가지는 여부에 따라 두가지 타입으로 나뉜다. ✔️ 상태를 가지고 있는 Stateful Composable ✔️ 상태를 가자지 않는 Stateless Composable - Stateful Composable 은 state 가 바뀌면 자기 자신과 자식의 Composable 을 재구성(ReComposition) 하게 된다. - Statele..

[안드로이드/Android] Jetpack Compose

Jetpack 이란? 2018년 5월에 구글이 발표한 라이브러리와 도구 모음집 Jetpack은 개발자가 관심 있는 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 축소, 모든 Android 버전 및 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 모음집이다. 앱을 쉽게 개발할 수 있도록 도와주는 라이브러리와 도구의 모음집으로, Jetpack 이 나오기 전 support library 라는 라이브러리 모음집이 이미 존재하였으나 이를 개선하고자 나온 것이 Jetpack. 구글 공식 문서에도 Androidx 를 사용할 것을 권장하고 있다.(Androidx 는 Jetpack 의 라이브러리들을 묶은 패키지명) Components, tools, guidance의 집합으로, 기존의 Support Libr..

[Android/Kotlin] Google Maps API 사용해서 지도 표시하기

안녕하세요! 벌써 2023년 새해!!!!!🪅 새해 복 많이 받으세요🙈 오랜만에 올려보는 포스팅입니다🥹 Google Maps API 를 사용해서 Android 에 지도를 표시하고📍 현재 위치를 가져오는 방법에 대해 포스팅해보겠습니다 🗺 먼저 Google 클라우드 플랫폼에서 프로젝트를 만들어 설정을 해주고, Android Studio 에서 라이브러리 추가 후 소스코드 작성을 해줍니다. 🚨 Google 클라우드 플랫폼에서 프로젝트 추가 및 설정 Google 클라우드 플랫폼에서 프로젝트를 만들어야 합니다. 아래 사이트로 들어가서 로그인해주세요~ https://console.developers.google.com/apis/dashboard Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 ..

[Android/Kotlin] ViewPager2 를 이용한 스크롤 시 애니메이션 적용(smoothScroll, PageTransformer)

이전 글 ViewPager2 를 이용한 자동 스크롤에 이어서, 자동 스크롤 시 애니메이션을 적용해 보았습니다. ViewPager2 를 사용해서 뷰 스크롤 시, 뷰 이동이 너무 딱딱 끊기는 느낌이 있어서 부드러운 스크롤을 적용하기 위한 방법입니다. 그리고 ViewPager2 의 PageTransformer 를 사용한 애니메이션 맞춤설정을 사용해 보았습니다. SliderMainActivity 의 일부만 변경하였습니다. 나머지는 이전 글과 동일한 소스입니다! https://eunoia3jy.tistory.com/182 [Android/Kotlin] ViewPager2 를 이용한 무한 스크롤(Infinite Scroll) ViewPager2 기존 ViewPager 라이브러리의 개선된 버전으로, ViewPager..

[Android/Kotlin] ViewPager2 를 이용한 무한 스크롤(Infinite Scroll)/자동 스크롤(Auto Scroll)

ViewPager2 기존 ViewPager 라이브러리의 개선된 버전으로, ViewPager 를 사용 시 발생하는 일반적인 문제를 해결해줍니다. Android 공식 문서에서도 ViewPager2 사용을 권장하고 있습니다. 🚨 ViewPager2 의 이점 - 세로 방향 지원 (Orientation 속성을 활용하여 Horizontal Paging 에서 Vertical Paging 도 지원) - 오른쪽에서 왼쪽 지원 (LayoutDirection 속성을 활용하여 RT(Right To Left) 페이징 지원) - 수정 가능한 프래그먼트 컬랙션 (notifyDatasetChanged() 를 호출하여 UI 업데이트 지원) - DiffUtil (RecyclerView 기반으로 빌드되므로 DiffUtil 유틸리티 클래스..

[Android/kotlin] 구글 Firebase Remote Config 사용하기

Remote Config Firebase 의 Remote Config 는 사용자가 앱 업데이트를 다운로드하지 않고도 앱의 동작과 모양을 변경할 수 있는 클라우드 서비스입니다. https://firebase.google.com/docs/remote-config Firebase 원격 구성하기 앱 업데이트를 게시하지 않고도 일일 활성 사용자 수 제한 없이 무료로 앱의 동작과 디자인을 변경할 수 있습니다. firebase.google.com https://firebase.google.com/docs/remote-config/get-started?platform=android Firebase 원격 구성 시작하기 의견 보내기 Firebase 원격 구성 시작하기 iOS+ Android 웹 Flutter Unity ..

[Android/kotlin] 구글 Firebase Realtime Database 사용한 채팅 앱 만들기

Firebase Realtime Database 를 이용해서 Android Kotlin 으로 간단한 채팅 앱을 만들어보았어요! 먼저 Firebase Realtime Database 는 이전 포스팅을 참고해주세요~ https://eunoia3jy.tistory.com/174 [Android/kotlin] 구글 Firebase Realtime Database 사용하기 Realtime Database Firebase의 Realtime Database는 NoSQL기반 cloud-hosted database입니다. 실시간으로 모든 클라이언트에서 데이터가 동기화 되어 사용할 수 있습니다. https://firebase.google... eunoia3jy.tistory.com 🎨 시나리오 ◽ 초기 진입 시 모든 채팅..

[Android/Kotiln] 생체 인식 인증 방식 Biometric 사용하기

안드로이드에서 제공하는 생체 인증 방식은 Fingerprint, Biometric 가 있습니다. Marshmallow(6.0) ~ Oreo(8.0) : Fingerprint Pie(9.0) 이상 ~ : Biometric Android API Level 29 부터는 Biometric 사용을 권장합니다. Biometric 를 사용한 지문인식를 Kotlin 으로 구현한 소스입니다. 작성한 파일 목록 입니다. 1. build.gradle(:app) 2. AndroidManifest.xml 3. BiometricActivity.kt 4. activity_biometric.xml build.gradle(:app) dependencies 에 implementation 'androidx.biometric:biometr..

[Kotlin/코틀린] 5 - 상속과 클래스 종류 (data 클래스, object 클래스, companion 클래스)

🚨 코틀린(Kotlin) 클래스의 상속과 생성자 - 코틀린(Kotlin) 의 클래스는 기본적으로 다른 클래스가 상속할 수 없다 - 다른 클래스에서 상속할 수 있게 선언하려면 open 키워드를 사용해야한다 - 상위클래스를 상속받은 하위 클래스의 생성자에서는 상위 클래스의 생성자를 호출해야 한다 open class Super1 {} //Sub1 의 상위클래스 Super1 class Sub1: Super1() {} //클래스의 매개변수가 없는 생성자 호출 open class Super2(name:String) {} //Sub2,Sub3 의 상위클래스 Super2 //상위클래스를 상속받은 하위 클래스의 생성자에서는 상위 클래스의 생성자를 호출해야 한다 class Sub2(name: String): Super2(..

[Kotlin/코틀린] 4 - 널(null) 안전성

🚨 널(null) 안전성 널 안전성 - 널(null) : 객체가 선언되었지만 초기화되지 않은 상태 - 객체는 데이터가 지장된 주소를 참조하므로 흔히 참조 변수라고 한다 데이터가 메모리에 저장되는 위치를 식별하는 값을 주소라고 한다 객체는 주소가 저장되며 이 주소로 메모리에 접근해서 데이터를 이용한다 - 널(null) 은 객체가 주소를 가지지 못한 상태 - 널(null) 인 상태의 객체를 이용하면 널 포인트 예외(NullPointException) 발생 -> 널(null) 인 상태의 객체를 이용할 수 없다는 오류 - 널 안정성 이란 널 포인트 예외(NullPointException) 가 발생하지 않도록 코드를 작성하는 것 널 허용 - ? 연산자 - kotlin 변수 타입을 널 허용(nullable) / 널..

[Kotlin/코틀린] 3 - 클래스와 생성자

🚨 클래스와 생성자 class 클래스 선언 class User { ... } - 클래스의 본문 내용이 없으면 {} 생략가능 - 생성자는 constructor 라는 키워드로 선언하는 함수 - 클래스 안에 다른 클래스 선언 가능 - 클래스의 멤버는 생성자, 변수, 함수, 클래스로 구성 - 클래스는 객체를 생성해 사용하며 객체로 클래스의 멤버에 접근한다 - 코틀린(Kotlin)에서는 객체를 생성할 때 new 키워드를 사용하지 않고, 클래스 이름과 같은 함수로 객체 생성 class User { var name = "eun" //변수 constructor(name: String) { //생성자 this.name = name } fun someFun() { //함수 println("name : $name") } c..

[Kotlin/코틀린] 2 - 조건문과 반복문

🚨 조건문 if 문 (if~ else~) val a: Int = 3 val b: Int = 4 var data1: Int if(a > b) { data1 = a } else { data1 = b } println("data1 : $data1") // => data1 : 4 val data2 = if(a > b) { a } else { b } println("data2 : $data2") // => data2 : 4 val data3 = if(a > b) a else b println("data3 : $data3") // => data3 : 4 when 문 - 코틀린(Kotlin)는 switch 문이 없는 대신 when 문이 존재한다 var data1: Any = 5 when(data1) { is Stri..

[Kotlin/코틀린] 1 - 변수/상수, 데이터타입, 함수, 컬렉션 타입

🚨 변수 / 상수 변수(var) - 초기값이 할당된 후에도 값을 바꿀 수 있는 변수 var [변수명]: [데이터 타입] = [값] 의 형태 상수(val) - 초깃값이 할당되면 바꿀 수 없는 변수 val [변수명]: [데이터 타입] = [값] 의 형태 값에 따라 데이터 타입을 유추할 수 있을 때는 데이터 타입을 생략할 수 있다. /* 변수 - 초기값이 할당된 후에도 값을 바꿀 수 있는 변수 */ var a: Int = 1 a = 10 var b = 3.14 b = 2.10 var c: String = "c문자" c = "c문자 입니다." /* 상수 - 초깃값이 할당되면 바꿀 수 없는 변수 */ val d: Int = 1 val e: Double = 3.14 val f: String = "f문자" 초깃값 할..

728x90
반응형