목록Android (20)
JuHyang
Coroutine 은 Andorid 의 비동기 프로그램잉 권장되는 솔루션입니다. 주목할 만한 기능은 다음과 같습니다. 경량 : 코루틴을 실행 중인 스레드를 차단하지 않는 정지를 지원하므로 단일 스레드에서 많은 코루틴을 실행할 수 있습니다. 정지는 많은 동시 작업을 지원하면서도 차단보다 메모리를 절약합니다. 메모리 누수 감소 : 구조화된 동시 실행을 사용하여 범위 내에서 작업을 실행합니다. 기본으로 제공되는 취소 지원 : 실행 중인 코루틴 계층 구조를 통해 자동으로 취소가 전달됩니다. Jetpack 통합 : 많은 Jetpack 라이브러리에 코루틴을 완전히 지원하는 확장 프로그램이 포함되어 있습니다. 일부 라이브러리는 구조화된 동시 실행에 사용할 수 있는 자체 코루틴 범위도 제공합니다. 종속 항목 정보 An..
Rx 에서 데이터를 발급하는 방법은 여러가지가 존재합니다. 그 중 가장 흔히 사용할 수 있는 데이터 발급 함수에는 Just 와 Create 가 있습니다. Single.just(Foo().bar()) Single.create { emitter -> emitter.onSuccess(Foo().bar()) } 두 함수는 비슷해 보이지만 다른 동작을 하고 있습니다. SingleJust 의 내부 구현체와 SingleCreate 의 내부 구현체를 들여다 보면 차이를 알 수 있습니다. // SingleJust public final class SingleJust extends Single { final T value; public SingleJust(T value) { this.value = value; } } //..
MvvM Clean Architecture DataBinding [View] ConstraintLayout MotionLayout CustomView [Kotlin] Coroutine RxKotlin
출처 : https://two22.tistory.com/10?category=1129307 ViewMatchers 뷰의 상태와 Matcher 함수들을 모아 놓은 클래스이다. ViewMatchers는 뷰를 찾기 위해서도 (onVIew)쓰고, 뷰의 상태를 확인하기(check) 위해서도 사용된다. onView(withText("Welcome")) .check(matches(allOf(isDisplayed(), withText("Welcome")) 위의 코드에서 사용된 withText, isDisplayed() 같은 것들이 ViewMathcer 이다. isDisplayed() 가장 기본적인 ViewMatcher로 화면에 보이는지 여부로 판단한다. 단순히 VISIBLE 확인이 아니라 화면의 보이는 영역에 그려졌는..
출처: https://two22.tistory.com/9?category=1129307 [루크의 코드테라피] Espresso ? 안드로이드 UI 테스트를 위한 라이브러리이다. 간결한 코드로 화면 정보에 대한 어설션을 진행할 수 있다. 테스트에 집중 할 수 있도록 백그라운드 실행에 대한 동기화는 에스프레소가 처리해 준다. ※ 아래 과정을 진행하기 전에 Settings > Developer options으로 가서 애니메이션 관련 기능을 다 끄는 걸 권장합니다. ( 애니메이션이 도는 사이에 UI 테스트가 진행되어 원치 않은 결과가 나올 수 있습니다. ) 시작하기 android { ... defaultConfig { testInstrumentationRunner "androidx.test.runner.Andro..
사용자가 앱을 탐색하고, 앱에서 나가고, 다시 들어가면, 앱의 Activity 인스턴스는 수명 주기 안에서 서로 다른 상태를 통해 전환된다. Activity 클래스는 활동이 상태 변화(시스템이 Activity를 생성, 중단 또는 다시 시작하거나, Activity이 있는 프로세스를 종료하는 등)을 알아차릴 수 있는 여러 콜백을 제공한다. 수명 주기 콜백을 잘 구현하면 다음과 같은 문제가 발생하지 않도록 예방하는데 도움이 될 수 있다.사용자가 앱을 사용하는 도중에 전화가 걸려오거나 다른 앱으로 전환할 때 비정상 종료되는 문제사용자가 앱을 활발하게 사용하지 않는 경우 귀중한 시스템 리소스가 소비되는 문제사용자가 앱에서 나갔다가 나중에 돌아왔을 때 사용자의 진행 상태가 저장되지 않는 문제화면이 가로 방향과 세로..
Activity 클래스는 Android 앱의 중요한 구성요소로 활동이 실행되고 결합되는 방식은 플랫폼 애플리케이션 모델의 기본 요소이다. main() 메서드를 사용하여 앱을 실행하는 패러다임과 달리 Android 시스템은 수명 주기의 특정 단계에 해당하는 특정 콜백 메서드를 호출하여 Activity 인스턴스의 코드를 시작한다. Activity 개념 모바일 앱 환경은 사용자와 앱의 상호자굥이 항상 동일한 위치에서 시작되는 것이 아니라는 점에서 데스크톱 앱 환경과 다르다. 사용자는 항상 다르게 앱을 실행하게 된다. ex) 홈 화면에서 이메일 앱을 열면 이메일 목록이 표시될 수 있으나, 소셜 미디어 앱을 사용하고 있는 상태에서 이메일 앱을 실행하게 되면 이메일을 작성하기 위한 이메일 앱 화면으로 바로 이동할 ..
Activity ( Activity ) 액티비티는 사용자가 애플리케이션과 상호작용하는 단일 화면을 의미한다. 모든 안드로이드 애플리케이션은 액티비티로 구성되어 있다. 사용자와 상호작용을 담당하는 인터페이스라고 할 수 있다. 안드로이드 애플리케이션은 반드시 하나 이상의 액티비티를 포함하고 있다. 액티비티는 생명주기(Life cycle) 관련 메서드들을 재정의하여 원하는 기능들을 구현할 수 있다. ◆ 2개 이상의 액티비티를 동시에 Display 할 수 없다.◆ 반드시 애플리케이션에는 반드시 1개 이상의 액티비티가 있어야 한다. ◆ 액티비티 내에 Fragment를 추가하여 화면을 분할 시킬 수 있다. ◆ 1개 이상의 View 또는 ViewGroup을 포함한다. ◆ 인텐트(Intent) 를 통해 다른 애플리케이..