728x90
반응형

Android 68

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

[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문자" 초깃값 할..

[안드로이드/Android] javax.xml.bind.UnmarshalException 에러

안녕하세요 😈 제가 Android Studio 에서 최근에 마주하게 되었던 에러가 있는데요. 새로운 프로젝트를 세팅하는 과정에서 javax.xml.bind.UnmarshalException 에러가 발생했습니다. Exception while handling step android.databinding.annotationprocessor.ProcessExpressions@709068de javax.xml.bind.UnmarshalException 와 같은 에러 메세지가 표시되었답니다. 구글링 결과 Mac 에서 Android Studio 로 빌드를 진행했던 프로젝트 소스를 Window 에서 실행했을 때 발생하는 databinding 의 인코딩 문제 라는 것을 확인하게 되었는데요, 저 또한 Mac 에서 작업된 ..

[안드로이드/Android] Kotlin/Java 권한 요청 uses-permission

안녕하세요! 안드로이드에서 위치나 카메라, 저장공간 등 앱 외부에 있는 리소스에 접근하기 위해서는 Android 6.0 마시멜로(API 23) 이상의 휴대폰인 경우 사용자에게 접근 허용을 위한 권한 요청을 해야합니다. 권한(permission) 요청을 하는 코드를 작성해 보았어요 🤗 AndroidManifest.xml 와 activity_permission.xml 는 동일하고 Activity 코드를 Kotlin, Java 두가지 버전을 준비했답니다! 작성한 파일 목록 입니다. 1. AndroidManifest.xml 2. activity_permission.xml 3. PermissionActivity.kt / PermissionJavaActivity.java 1. AndroidManifest.xml 카..

[안드로이드/Android] Context (Application Context vs. Activity Context)

안녕하세요! Android Context 가 무엇일까요? 😢 https://developer.android.com/reference/android/content/Context Context | Android Developers developer.android.com Context 는 애플리케이션 환경에 대한 글로벌 정보를 갖는 인터페이스입니다. Context 는 Android 시스템에서 구현체를 제공하는 추상 클래스로, 애플리케이션 별 리소스 및 클래스 접근에 사용되며, 액티비티 실행, 브로드캐스트, 인탠트 수신 등과 같은 애플리케이션 수준 작업에 사용됩니다. Application Context 안드로이드 시스템 상, ActivityManagerService 라는 독립된 애플리케이션에서 애플리케이션과 관..

[Android/Kotlin] Koin (kotlin 으로 작성된 경량화된 Dependency Injection 프레임워크)

DI (Dependency Injection) 패턴 - 컴포넌트간의 의존 관계를 소스코드 내부가 아닌 외부 설정 파일등을 통해 정의되게하는 디자인 패턴중 하나 - 객체를 직접 생성하지 않고 외부에서 주입한 객체를 사용하는 방식 - 인스턴스 간 디커플링을 만들어줌 => 유닛테스트 용이성 증대 ( 객체A 내부에서 객체B 를 사용하는 경우 객체B에 대해 객체A가 의존하고 있다고 볼 수 있으며, 객체A에서 객체B를 초기화하지 않고 사용할 수 있도록 외부에서 객체B를 초기화하여 객체A에 주입해주는 것 ) Ex) Hilt, Dagger Service Locator 패턴 - 중앙 등록자 ‘Service Locator’를 통해 요청이 들어왔을 때 특정 인스턴스 반환 - apk 크기, 빌드 속도, 메서드 수 등 복잡한 ..

[Android/Kotlin] FCM 푸시 Push 알림 구현하기

안드로이드에서 FCM 푸시 Push 알림을 받는 방법 입니다. 1. Firebase Cloud Messaging Firebase 의 프로젝트 생성 및 앱 추가를 합니다. https://eunoia3jy.tistory.com/129 [Android/Firebase] Firebase 프로젝트 생성 및 앱 추가 안녕하세용! 안드로이드 앱에서 Firebase 를 활용하기 위해 프로젝트를 생성하고 앱을 추가 하는 방법입니다. 먼저 Firebase 콘솔창으로 이동하여 로그인 해주세요~ https://console.firebase.google.com/?hl=ko.. eunoia3jy.tistory.com Firebase 클라우드 메시징 문서를 참고하였습니다. https://firebase.google.com/docs..

[Android/Kotlin] 구글 Google 계정 로그인 연동을 위한 firebase console 설정방법 및 소스코드

안녕하세용! 안드로이드 앱에서 Firebase 를 활용하여 Google 로그인 하는 방법 및 소스코드 입니다. 1. Firebase Auth Google 설정 방법 https://eunoia3jy.tistory.com/129 [Android/Firebase] Firebase 프로젝트 생성 및 앱 추가 안녕하세용! 안드로이드 앱에서 Firebase 를 활용하기 위해 프로젝트를 생성하고 앱을 추가 하는 방법입니다. 먼저 Firebase 콘솔창으로 이동하여 로그인 해주세요~ https://console.firebase.google.com/?hl=ko.. eunoia3jy.tistory.com 1-1. Firebase 프로젝트 생성 및 앱 추가가 끝났다면 Firebase Console 에서 빌드 > Authen..

728x90
반응형