728x90
반응형

📱 안드로이드 Android ~ Kotlin 28

[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 In-App Messaging 사용하기

In App Messaging Firebase 의 In-App Messaging 은 특정 상황에 앱에 팝업을 띄울 수 있게 해주는 Firebase 의 참여 기능 중 하나입니다. Firebase 인앱 메세지를 사용하면 주요 앱 기능을 사용하도록 권장하는 타겟팅된 상황별 메시지를 보내 앱 활성 사용자의 참여를 유도할 수 있습니다. 앱에 SDK 라이브러리만 추가해주면 코드 구현 없이 가능하다는 장점이 있습니다. https://firebase.google.com/docs/in-app-messaging?hl=ko Firebase 인앱 메시지 | Firebase Documentation 상황별 메시지로 활성 앱 사용자의 참여를 유도합니다. firebase.google.com https://firebase.googl..

[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/kotlin] 구글 Firebase Realtime Database 사용하기

Realtime Database Firebase의 Realtime Database는 NoSQL기반 cloud-hosted database입니다. 실시간으로 모든 클라이언트에서 데이터가 동기화 되어 사용할 수 있습니다. https://firebase.google.com/docs/database/android/start Android에서 설치 및 설정 | Firebase Documentation Check out what’s new from Firebase at Google I/O 2022. Learn more 의견 보내기 Android에서 설치 및 설정 Firebase에 앱 연결 아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다. 데이터베이스 만들기 F firebase.googl..

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

Firebase 출시 및 모니터링 기능 중 Firebase Crashlytics 를 사용하면 비정상 종료, 심각하지 않은 오류, '애플리케이션 응답 없음'(ANR) 오류에 관한 포괄적인 비정상 종료 보고서를 받아 볼 수 있습니다. 앱 Crash 를 좀 더 손쉽게 확인할 수 있는 오류보고 솔루션입니다. 🚨 Google Crashlytics 에 대한 사용설정 Firebase Crashlytics 를 사용하기 위해 먼저 Google Crashlytics 에 대한 사용설정을 구성해 줍니다. 프로젝트 개요 > 프로젝트 설정 > Google Crashlytics 사용설정 클릭 후 Google 애널리틱스 계정 선택 후 Google Crashlytics 사용 설정 버튼 클릭 🚨 Firebase Crashlytics 시..

[Android/Kotiln] Jetpack Navigation 사용하기

안녕하세요! 이번 포스팅은 Jetpack Navigation 을 이용한 간단한 화면 이동을 구현해 보았습니당~ Jetpack Navigation Jetpack 은 Android 개발을 빠르게 도와주는 컴포넌트 라이브러리입니다. Jetpack Navigation 은 UI 를 통한 Navigation 편집이 가능하게 해주는 라이브러리로, 구글에서 권장하고 있는 네비게이션 중 하나입니다. 단순한 버튼 클릭부터 좀 더 복잡한 패턴(앱바, 탐색 창)에 이르기까지 여러 가지 탐색을 구현하도록 도와줍니다. 탐색 구성요소는 기존의 원칙을 준수하여 일관적이고 예측 가능한 사용자 환경을 보장합니다. 🚨 Jetpack Navigation 의 3가지 주요 구성요소 1. 탐색 그래프 : 모든 탐색 관련 정보가 모여있는 xml ..

[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..

728x90
반응형