Android Database Room Room 은 SQLite에 대한 추상화 레이어를 제공하여 원할한 데이터베이스 엑세스를 지원하는 동시에 SQLite를 완벽히 활용한다. 다양한 Annotation을 통해 컴파일시 코드들을 자동으로 만들어주며 LiveData, RxJava와 같은 Observation 형태를 지원 또한 MVP, MVVM 등과 같은 ...
Android Realm Database Realm(렘)은 오픈소스 데이터베이스 관리시스템(DBMS) 이며 모바일 환경을 주요 타깃으로 삼은 데이터베이스이다. Realm은 매우 작은 리소스를 사용하고 사용하기 쉽고 더 빠르게 데이터와 상호 작용 가능하다. NoSQL 데이터베이스를 지향하며 rawSQL을 사용할 수 없어 Realm API를 통해서 실행...
Android SQLite Android 에서 database를 사용할 때 필요한 API는 android.database.sqlite 패키지로 제공한다. 하지만 2017년 Google I/O 에서 Android Architecture Components(AAC)를 발표하면서 Android Developer 사이트에는 SQLite를 직접 사용하는것은 ...
Handler 동작 Handler는 Message를 MessageQueue에 보내는 것과 Message를 처리하는 기능을 함께 제공한다. post(), postAtTime(), postDelayed() 메서드를 통해서 Runnable 객체도 전달되는데, Runnable도 내부적으로 Message에 포함되는 값이다. sendEmptyMes...
Handler class Handler는 Message를 MessageQueue에 넣는 기능과 MessageQueue에서 꺼내 처리하는 기능을 함께 제공한다. Handler 생성자 Handler에는 기본 생성자 외에도 Handler.Callback 이 전달되는 생성자도 있고, Looper가 전달되는 생성자도 있다. ...
UI 처리를 위한 메인 스레드 어플리케이션은 성능을 위해 멀티 스레드를 많이 활용하지만 , UI를 업데이트하는 데는 단일 스레드 모델이 적용된다. 멀티 스레드로 UI를 업데이트를 하게 될 경우 교착 상태, 경합 상태등 여러 문제가 생길 수 있어 UI를 업데이트하는 것은 메인 스레드에서만 허용한다. 컴포넌트 (액티비티, 서비스, 브로드캐스트 ...