개발/Android

개발/Android

Room Library, Paging Library

Android SQLite Database 안드로이드에서는 SQLite 데이터베이스를 임베디드 데이터베이스로 제공한다. SQLite DB는 경량급(Light-weight) 관계형 데이터베이스다. 표준 SQL을 지원할 뿐만 아니라 데이터 조회 속도가 빨라 안드로이드, 아이폰 등에서 널리 사용한다. Android Architecture Components Google I/O 2017에서 안드로이드 개발에 필요한 새로운 라이브러리들을 Android Architecture Components(AAC)로 묶어 발표 구글은 안드로이드 앱을 개발하면서 자주 만날 수 있는 문제들을 쉽게 해결할 수 있는 가이드를 개발자들에게 제공하기 위해 AAC를 제공한다. AAC는 5개의 라이브러리로 구성한다. Lifecycles L..

개발/Android

코루틴 Coroutine

안드로이드에서 프로세스 애플리케이션이 시작되면 안드로이드 시스템은 애플리케이션을 위한 새로운 프로세스와 스레드를 생성한다. 기본적으로 애플리케이션 안의 모든 컴포넌트들은 동일한 프로세스의 동일한 스레드에서 실행한다. 이 기본적인 스레드를 메인 스레드라고 하며, 메인 스레드는 위젯에게 이벤트를 전달하거나 화면을 그리는 등 UI 관련 모든 작업을 담당한다. 문제점 애플리케이션에서 많은 작업을 해야 한다면 이와 같은 단일 스레드 모델은 애플리케이션의 성능을 저하시킨다. 대기 시간이 길어지는 네트워크 요청 등의 기능을 수행할 때는 화면에 보이는 UI도 멈춤 상태인 ANR(Application Not Responding) 오류가 발생한다. 해결방안으로는 하나의 프로세스 안에서 여러 개의 작업을 동시에 할 수 있는..

개발/Android

네비게이션 컴포넌트

네비게이션 컴포넌트 네비게이션 컴포넌트는 앱의 화면 전환을 쉽게 구현하고 화면 흐름을 시각화해서 보여주는 라이브러리다. 개발자가 정의한 UI Graph를 기반으로 하면 간의 관계를 한 눈에 볼 수 있다. Back Stack 안드로이드에서는 액티비티를 백 스택을 통해 관리 - 백 스택은 네비게이션의 상태를 나타낸다. 액티비티의 백 스택은 시작점을 가지며, open된 순서대로 스택을 쌓이고, 현재 화면은 스택의 최상단에 위치한다. 새로 액티비티가 생성이 되면 백 스택에 Push가 되면서 기존에 있던 액티비티는 아래로 감춰지게 되고, 뒤로가기를 눌러서 현재 액티비티를 종료시키면, 종료된 액티비티가 pop되면서 그 아래에 있던 액티비티가 push되어 포그라운드되는 구조다. 네비게이션 네비게이션은 사용자가 앱 내..

개발/Android

ViewModel, LiveData

ViewModel ViewModel은 Activity 및 Fragment의 생명주기를 고려하여 UI 관련 데이터를 저장하고 관리한다. Activity는 Activity가 끝날 때까지 그리고 Fragment는 Fragment가 분리될 때까지 데이터를 메모리에서 유지한다. Activity 및 Fragment의 생명 주기와 관계없이 데이터를 유지한다. 화면 회전과 같이 구성을 변경 할때도 데이터를 유지할 수 있다. ViewModel lifecycle Activity의 onCreate()메서드에 처음 호출할 때 ViewModel을 요청 및 생성한다. 시스템은 액티비티 기간 내내(예: 기기 화면이 회전될 때) onCreate() 메서드를 여러 번 호출한다. ViewModel은 액티비티가 소멸될 때까지 존재한다. ..

Debin
'개발/Android' 카테고리의 글 목록