728x90
반응형

안드로이드 50

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

[안드로이드/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] 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..

[Android/Kotlin] 코루틴 coroutine

코루틴 Coroutine Android의 비동기 프로그래밍에 권장되는 솔루션으로, 비동기적으로 실행되는 코드를 간소화하기 위해 Android 에서 사용할 수 있는 동시 실행 설계 패턴. 안드로이드의 Background Thread 에서 코드를 처리할 때 사용하는 방법이다. Co(협력, 같이, 함께, 동시에) 라는 뜻과 Routine(특정한 일을 실행하기 위한 일련의 명령) 이라는 두 단어의 합성어로, 동시성 프로그래밍의 개념을 코틀린에 도입한 것 다양한 언어에서 이미 지원하고 있는 개념이다. 통신 시 비동기 처리하는 방법으로 오랜 기간 사용되었던 AsyncTask 가 Deprecated 되면서, 메모리를 효율적으로 사용하면서 AsyncTask 를 대체하는 비동기 처리 방법으로 사용되고 있다. 🚨 Coro..

[안드로이드/Android] 클린아키텍처 Clean Architecture

클린 아키텍처 Clean Architecture 개발자 로버트 C. 마틴(Robert C. Martin)가 2012년 엔터프라이즈 아키텍처에서 논의된 내용을 토대로 집약시킨 개념. 소프트웨어의 관심사를 계층별로 분리하는 소프트웨어 디자인 철학이다. 주요 원칙은 코드 종속성이 외부로부터 내부로 의존한다는 것이다.(외부->내부 로 향하여 의존한다.) 내부 계층의 코드는 외부 계층의 기능을 알 수 없다. UI와 Database를 분리하여, 외부적인 설정에는 독립적이며 프레임워크에 의존적이지 않은 공통적인 코드를 짤 수 있도록 한다. 클린 아키텍처는 2가지 관점에서 볼 수 있다. 1. 아키텍처 설계 철학 - SOLID 원칙을 기반으로함 : 단일 책임 원칙(Single Responsibility Principle..

[Android/Firebase] Firebase 프로젝트 생성 및 앱 추가

안녕하세용! 안드로이드 앱에서 Firebase 를 활용하기 위해 프로젝트를 생성하고 앱을 추가 하는 방법입니다. 먼저 Firebase 콘솔창으로 이동하여 로그인 해주세요~ https://console.firebase.google.com/?hl=ko 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 1. Firebase 프로젝트 생성 1-1. 프로젝트 추가 클릭 1-2. 프로젝트 이릅 입력 후 계속 버튼 클릭 1-3. 프로젝트 만들기 버튼 클릭 1-4. 프로젝트가 만들어지는 동안 잠시 기다립니다. 1-5. 새 프로젝트가 준비되었다고 표시되면 계속 버튼을 클릭합니다. 그러면 Firebase 에 프로젝트가 추가된 것을 확인할..

[Android/Kotiln] 데이터 바인딩 dataBinding 사용하기

dataBinding 앱의 데이터 소스와 레이아웃의 구성요소를 결합할 수 있게 해주는 Android JetPack 라이브러리 findViewById를 쓰지 않고, 데이터 소스와 레이아웃을 결합해주는 방식 https://developer.android.com/topic/libraries/data-binding/start?hl=ko 시작하기 | Android 개발자 | Android Developers 시작하기 Android 스튜디오의 데이터 결합 코드 지원을 비롯하여 개발 환경에서 데이터 결합 라이브러리를 함께 사용하도록 준비하는 방법을 자세히 알아봅니다. 데이터 결합 라이브러리는 유연 developer.android.com 🚨 장점 1. findViewById()를 사용하지 않아도 된다. 자동으로 xml..

[Android/Kotiln] MVVM 적용한 날씨 앱 만들기 (viewBinding, retrofit 사용)

viewBinding findViewById를 쓰지 않고, XML의 view component 에 접근하는 object를 반환받아 view에 접근하는 방식 https://developer.android.com/topic/libraries/view-binding?hl=ko 뷰 결합 | Android 개발자 | Android Developers 뷰 결합 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성합니다. 바인딩 developer.android.com 🚨 장점 1. findViewById()를 사용하지 않아도 된다. 자동으로 xml에서 만든 View들을 만들어준다. 2. Null 안정성 ..

[안드로이드/Android] 레트로핏 Retrofit 을 이용한 날씨 앱 만들기

Retrofit REST API 통신을 위해 구현된 Squareup 사의 OkHttp 라이브러리의 상위 구현체로, OkHttp 를 네트워크 계층으로 활용하고 구축된 라이브러리. AsyncTask 없이 Background Thread 를 실행하고 Callback 을 통해 Main Thread 에서 UI 업데이트가 가능하다. 🚨 장점 빠른 성능 - AsyncTask 를 사용하는 OkHttp 의 3배이상 차이가 난다고 한다. 가독성 - Annotation 사용으로 코드의 가독성이 뛰어남. 직관적인 설계가 가능. 간단한 구현 - HttpUrlConnection 의 Connection / Input&Output Stream / URL Encoding 등의 작업 또는 OkHttp 의 request / respons..

[안드로이드/Android] AsyncTask 로 HttpURLConnection 를 이용한 날씨 앱 만들기

안드로이드에서 서버와 통신하기 위한 AsyncTask 로 HttpURLConnection 을 이용하는 방법입니다. 저는 openweathermap 의 api 를 통해 날씨 정보를 표시해주는 앱을 만들어보았습니당 🌤 https://openweathermap.org/api Weather API - OpenWeatherMap Please, sign up to use our fast and easy-to-work weather APIs for free. In case your requirements go beyond our freemium account conditions, you may check the entire list of our subscription plans. You can read the How..

728x90
반응형