Android 개발/데이터 처리 및 관리

(1분 읽기) 안드로이드 SQLite 완전 정복! 데이터 저장 & 트랜잭션 관리 🖥️

안드하는잡스 2025. 2. 12. 19:08

앱 개발할 때 데이터 저장, 어떻게 하고 있어? 🤔
설치 없이 바로 사용할 수 있는 가볍고 강력한 내장형 DB, SQLite가 있잖아! 🚀
데이터 저장, 조회, 수정, 삭제까지 쉽게 할 수 있어서 앱 개발할 때 필수야! 🔥


SQLiteDatabase의 핵심 기능

DB 연결 & 관리 → SQLite 파일을 다루는 핵심 클래스
SQL 실행 & 결과 가져오기 → query(), execSQL() 지원
트랜잭션 관리 → 데이터 무결성 보장
멀티스레드 동시 접근 가능 → enableWriteAheadLogging() 활용


트랜잭션(Transaction) 관리 필수!

데이터 변경 작업을 하나로 묶어서 실행할 수 있어!
성공하면 저장(Commit), 실패하면 롤백(Rollback) 자동 처리라서 안전하게 관리 가능! 💡

 

📌 SQLite 트랜잭션 예제

val mSQLDB = openOrCreateDatabase("myDB", Context.MODE_PRIVATE, null)
mSQLDB.beginTransaction()  // 트랜잭션 시작

try {
    // 데이터 삽입, 수정, 삭제 등 실행
    mSQLDB.setTransactionSuccessful() // 성공 시 커밋
} catch (e: SQLiteException) {
    // 오류 발생 시 자동 롤백
} finally {
    mSQLDB.endTransaction() // 트랜잭션 종료 (필수!)
    mSQLDB.close() // DB 닫기
}

✅ setTransactionSuccessful() 호출 안 하면 자동 롤백
✅ endTransaction() 호출 안 하면 트랜잭션이 끝나지 않으니 꼭 호출!


멀티스레드 환경에서도 SQLite 쓸 수 있어?

SQLite는 기본적으로 싱글 스레드 환경을 가정하지만,
🔹 enableWriteAheadLogging() → 여러 스레드에서 동시 실행 가능 여부 설정
🔹 inTransaction() → 현재 트랜잭션 실행 중인지 확인

멀티스레드 환경에서도 안전하게 사용할 수 있도록 옵션을 잘 활용하면 돼!


🚀 SQLite로 안전하게 데이터 관리하자!

📌 앱 개발할 때 데이터 저장이 필요하다면?
📌 트랜잭션을 활용해서 데이터 무결성을 지키고 안정적으로 관리하자!

SQLite 하나만 잘 써도 빠르고 강력한 데이터 관리 가능!
이제 직접 적용해보자! 🔥