반응형

SQLite 2

안드로이드 SQLite 내부 아키텍처 분석: JNI Native 코드부터 커넥션 풀까지

안드로이드 애플리케이션을 개발할 때 데이터를 로컬 디바이스에 영구적으로 저장하는 가장 대표적인 방법은 관계형 데이터베이스(RDBMS)를 활용하는 것입니다. 현대 안드로이드 진영에서는 구글의 Jetpack 컴포넌트인 'Room' 라이브러리를 표준처럼 사용하고 있지만, 이 Room 라이브러리 역시 결국 껍데기를 한 꺼풀 벗겨내면 안드로이드 OS 초창기부터 뼈대를 지탱해 온 강력한 오픈소스 데이터베이스 엔진인 'SQLite'와 만나게 됩니다.안드로이드 프레임워크 내부에서 SQLite는순간적으로 밀려드는 수많은 앱 스레드의 읽기/쓰기 요청을 동시성 충돌 없이 안전하게 처리해야 합니다. 이를 위해 자바 프레임워크 레이어 아래에 복잡한 JNI(Java Native Interface) 가교와 C++ 네이티브 커넥션 ..

Android Room 완벽 가이드 | SQLite CRUD 구현 (Entity, DAO, ViewModel 예제)

안드로이드 애플리케이션을 개발하다 보면 데이터의 영속성을 유지하기 위해 데이터베이스를 사용해야 하는 경우가 많습니다. 안드로이드에서는 대표적으로 SQLite 데이터베이스를 사용할 수 있지만, SQLite API를 직접 사용하는 것은 불편하고 에러가 발생하기 쉽습니다. 이를 좀 더 편리하게 사용할 수 있도록 구글에서 제공하는 Room 라이브러리를 활용하면 좋습니다. 이번 포스팅에서는 Room을 이용해 SQLite 데이터베이스를 구축하고, CRUD (Create, Read, Update, Delete) 작업을 구현하는 방법을 예제를 통해 소개하겠습니다.Room 라이브러리란?Room은 안드로이드 Jetpack 라이브러리의 일부로, SQLite 데이터베이스에 접근하기 위한 추상화 계층을 제공합니다. Room을 ..

반응형