DI (Dependency Injection) DI는 의존성 주입이라 부르며, 하나의 객체에 다른 객체의 의존성을 제공하는 기술입니다. 여기서 의존성은 서비스를 사용할 때 필요한 객체를 뜻합니다. Android의 종속 항목 삽입 | Android 개발자 | Android Developers Android의 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 종속 항목 삽입(DI)은 프로그래밍에 널리 사용되는 기법으로, Android 개발에 적합합니 developer.android.com DI 기법 예시 DI를 예시로 Car 클래스와 Engine 클래스로 설명하면 다음과 같습니다. Car 클래스가 실행되기 위해서는 Engine 클래스의 인스턴스가 있어야 합니다. ..
Rx Rx란 ReactiveX(Reactive Extensions)의 약자로, 리액티브 프로그래밍을 위한 라이브러리입니다. ReactiveX는 비동기 프로그래밍과 Observable 시퀀스를 이용해 이벤트를 처리하기 위한 반응형 프로그래밍 기법입니다. 효율적으로 신속하게 비동기 처리를 도와줍니다. 함수형 프로그래밍을 일부 지원합니다. 옵저버 패턴을 사용합니다. 콜백에서 또 콜백을 하는 콜백 지옥에서 벗어날 수 있습니다. ReactiveX Reactive Extensions for Async Programming. ReactiveX has 42 repositories available. Follow their code on GitHub. github.com ReactiveX에는 다음과 같이 여러 가지가 존..
아키텍처 패턴 아키텍처 패턴은 디자인 패턴과 소프트웨어공학에서 발생하는 문제를 해결한다는 점에서 비슷합니다. 하지만 디자인 패턴은 특정 문제를 해결하기 위한 방법이고, 아키텍처 패턴은 전체적인 소프트웨어에서 발생하는 문제들을 해결하기 위한 방법입니다. 앱 아키텍처 패턴에는 MVC, MVP, MVVM, MVI 등 다양한 패턴이 존재합니다. 각 앱의 특성에 맞게 알맞은 패턴을 적용해 앱을 설계해야 합니다. MVC 패턴 MVC 패턴은 Model, View, Controller로 구성되어 있습니다. Model : 앱의 데이터를 저장하고 처리하는 역할을 담당합니다. SQLite, File, Content Provider 등이 포함됩니다. View : 화면 구성을 담당하는 영역입니다. 이 영역은 View 클래스를 ..
Coil Coil은 Coroutine Image Loader의 약자이며, Kotlin Coroutines(코루틴)으로 만들어진 Android 백앤드 이미지 로딩 라이브러리입니다. Coil에는 이렇게 다양한 장점들이 있습니다. Glide, Fresco보다 상대적으로 가볍습니다. 심플함과 최소한의 boilerplate를 위하여 Kotlin의 기능을 활용하기 때문에 사용하기 쉽습니다. Kotlin으로 개발되었으며 Coroutines, OkHttp, Okio, AndroidX Lifecycles 등의 최신 라이브러리를 사용합니다. 메모리와 디스크의 캐싱, 메모리의 이미지 다운 샘플링, Bitmap 재사용, 일시정지/취소의 자동화 등등 수많은 최적화 작업을 수행하므로 처리 속도가 굉장히 빠릅니다. Coil Ove..
Shared Element Transitions Shared Element Transitions을 사용하면 선택한 이미지가 다음 화면까지 연결되어 보여질 수 있습니다. 또한, 이는 화면 간에 공유되는 요소들에 의해서 좀 더 직관적이고 부드러운 연출을 가능하도록 합니다. 애니메이션으로 활동 시작 | Android 개발자 | Android Developers 애니메이션으로 활동 시작 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 머티어리얼 디자인 앱의 활동 전환은 공통 요소 간의 모션 및 변환을 통해 서로 developer.android.com Continuous Shared Element Transitions: RecyclerView to ViewPager News and ..
CountDownTimer CountDownTimer를 통해 Thread로 일일히 직접 구현하지 않고 Thread 타이머를 사용할 수 있습니다. CountDownTimer | Android Developers android.location.altitude developer.android.com CountDownTimer 구현하기 CountDownTimer는 얼마나 타이머를 진행할지와 언제 한번씩 onTick()을 호출할지를 인자로 받습니다. 각 인자의 단위는 밀리세컨드이고, 타이머가 종료되면 onFinish()가 호출됩니다. start()과 cancel()을 통해 각각 타이머를 시작 및 종료시킬 수 있습니다. 다음은 3분 동안 1초마다 남은 시간을 보여주는 CountDownTimer 예시입니다. priv..
SMS Retriever API SMS Retriever API를 사용하면 사용자가 수동으로 인증 코드를 입력하지 않고도 Android 앱에서 SMS 기반 사용자 확인을 자동으로 수행할 수 있습니다. Android 앱에서 SMS 인증 요청 | Credential Verification | Google for Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English 의견 보내기 Android 앱에서 SMS 인증 요청 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. developers.google.com SMS Retriever API 사용하기 1. build.gradle에 의존성 추가 SMS Retrieve..
정규표현식 (Regular Expressions, Regex) 정규표현식은 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어입니다. 정규표현식을 사용할 때에는 java.util.regex 패키지 안에 있는 Pattern 클래스와 Matcher 클래스를 주로 사용합니다. 정규 표현식 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 노란색 강조 부분은 다음 정규식을 사용했을 때 매치된 것이다. 스티븐 클레이니는 정규 표현식의 개념을 설립한 공로자이다. 정규 표현식(正規表現式, 영어: r ko.wikipedia.org 정규표현식 문법 정규표현식 설명 ^ 문자열 시작 $ 문자열 종료 . 임의의 한 문자 (단, \는 넣을 수 없음) * 앞 문자가 없을 수도 무한정 많을 수..