Sqlite
androidx.sqlite
라이브러리에는 SQLite에 액세스하는 자체 라이브러리를 빌드하는 데 사용할 수 있는 기본 구현과 함께 추상 인터페이스가 포함되어 있습니다.
개발자는 SQLite을 완벽히 활용하면서 강력한 데이터베이스 액세스를 지원하는 SQLite의 추상화 레이어를 제공하는 Room 라이브러리 사용을 고려할 수 있습니다.
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2023년 1월 11일 | 2.3.0 | - | - | - |
종속 항목 선언
SQLite의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { def sqlite_version = "2.3.0" // Java language implementation implementation "androidx.sqlite:sqlite:$sqlite_version" // Kotlin implementation "androidx.sqlite:sqlite-ktx:$sqlite_version" // Implementation of the AndroidX SQLite interfaces via the Android framework APIs. implementation "androidx.sqlite:sqlite-framework:$sqlite_version" }
Kotlin
dependencies { val sqlite_version = "2.3.0" // Java language implementation implementation("androidx.sqlite:sqlite:$sqlite_version") // Kotlin implementation("androidx.sqlite:sqlite-ktx:$sqlite_version") // Implementation of the AndroidX SQLite interfaces via the Android framework APIs. implementation("androidx.sqlite:sqlite-framework:$sqlite_version") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 2.3.0
버전 2.3.0
2023년 1월 11일
androidx.sqlite:sqlite:2.3.0
, androidx.sqlite:sqlite-framework:2.3.0
, androidx.sqlite:sqlite-ktx:2.3.0
이 출시되었습니다. 버전 2.3.0에 포함된 커밋을 확인하세요.
2.2.0 이후 중요 변경사항
- 라이브러리 그룹
androidx.sqlite
소스가 자바에서 Kotlin으로 변환되었습니다. 참고로,androidx.sqlite
에 null 허용 여부 주석이 누락되었기 때문에 소스가 Kotlin에 있고 코드에서 null 허용 여부를 잘못 추론하는 경우 소스 비호환 오류가 발생할 수 있습니다. 게다가 특정 getter 메서드는 Kotlin 파일에서 속성 액세스 문법이 필요한 속성으로 변환되었습니다. 중대한 비호환성이 있는 경우 버그를 신고하세요. (b/240707042) - 복구 메커니즘 중에 데이터 손실을 허용하는 API를
SupportSQLite's
구성에 추가합니다. (I1b830, b/215592732) - 다중 프로세스의 첫 번째 데이터베이스 생성과 이전을 보호하기 위해
FrameworkSQLite*
수준에서 다중 프로세스 잠금과 사용을 위한 API를 추가했습니다. (Ied267, b/193182592)
버전 2.3.0-rc01
2022년 12월 7일
androidx.sqlite:sqlite:2.3.0-rc01
, androidx.sqlite:sqlite-framework:2.3.0-rc01
, androidx.sqlite:sqlite-ktx:2.3.0-rc01
이 출시되었습니다. 버전 2.3.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- null을 허용하는 열의
SupportSQLiteQueryBuilder
에서 NPE 문제를 해결했습니다. (Ica8f5)
버전 2.3.0-beta02
2022년 11월 9일
androidx.sqlite:sqlite:2.3.0-beta02
, androidx.sqlite:sqlite-framework:2.3.0-beta02
, androidx.sqlite:sqlite-ktx:2.3.0-beta02
가 출시되었습니다. 버전 2.3.0-beta02에 포함된 커밋을 확인하세요.
- 자바의 배열 동작과 일치하도록 쿼리 인수를 불변(
Array<Any?>
)에서 반변(Array<out Any?>
)으로 사용하는 여러 API를 수정했습니다. (b/253531073)
버전 2.3.0-beta01
2022년 10월 5일
androidx.sqlite:sqlite:2.3.0-beta01
, androidx.sqlite:sqlite-framework:2.3.0-beta01
및 androidx.sqlite:sqlite-ktx:2.3.0-beta01
이 출시되었습니다. 버전 2.3.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 모든 android.sqlite 소스가 자바에서 Kotlin으로 변환되었습니다. (b/240707042)
- 변환에서 한 가지 주목할 만한 변경사항은 다음의 getter 함수가 속성이 되었다는 것입니다.
SupportSQLiteDatabase
에서:attachedDbs
isDatabaseIntegrityOk
isDbLockedByCurrentThread
isOpen
isReadOnly
isWriteAheadLoggingEnabled
maximumSize
pageSize
path
version
SupportSQLiteOpenHelper
에서:databaseName
readableDatabase
writableDatabase
버전 2.3.0-alpha05
2022년 8월 24일
androidx.sqlite:sqlite:2.3.0-alpha05
, androidx.sqlite:sqlite-framework:2.3.0-alpha05
, androidx.sqlite:sqlite-ktx:2.3.0-alpha05
가 출시되었습니다. 버전 2.3.0-alpha05에 포함된 커밋을 확인하세요.
API 변경사항
- 라이브러리 그룹 androidx.sqlite 소스가 자바에서 Kotlin으로 변환되었습니다. 참고로, androidx.sqlite에 null 허용 여부 주석이 누락되었기 때문에 소스가 Kotlin에 있고 코드에서 null 허용 여부를 잘못 추론하는 경우 소스 비호환 오류가 발생할 수 있습니다. 중대한 비호환성이 있는 경우 버그를 신고하세요. (b/240707042)
버전 2.3.0-alpha04
2022년 8월 10일
androidx.sqlite:sqlite:2.3.0-alpha04
, androidx.sqlite:sqlite-framework:2.3.0-alpha04
및 androidx.sqlite:sqlite-ktx:2.3.0-alpha04
가 출시되었습니다. 버전 2.3.0-alpha04에 포함된 커밋을 확인하세요.
API 변경사항
- null 허용 여부를 업데이트했습니다. (I29fbd)
버전 2.3.0-alpha03
2022년 6월 1일
androidx.sqlite:sqlite:2.3.0-alpha03
, androidx.sqlite:sqlite-framework:2.3.0-alpha03
, androidx.sqlite:sqlite-ktx:2.3.0-alpha03
이 출시되었습니다. 버전 2.3.0-alpha03에 포함된 커밋을 확인하세요.
API 변경사항
androidx.sqlite.ProcessLock
을 제한합니다. API는androidx.sqlite
내 함수로 범위가 지정되고 제한되므로 범용 다중 프로세스 잠금으로 사용하면 안 됩니다. (I1643f)
버전 2.3.0-alpha02
2022년 4월 6일
androidx.sqlite:sqlite:2.3.0-alpha02
, androidx.sqlite:sqlite-framework:2.3.0-alpha02
, androidx.sqlite:sqlite-ktx:2.3.0-alpha02
가 출시되었습니다. 버전 2.3.0-alpha02에 포함된 커밋을 확인하세요.
- 2.3.0-alpha01 이후 큰 변경사항이 없습니다.
버전 2.3.0-alpha01
2022년 2월 23일
androidx.sqlite:sqlite:2.3.0-alpha01
, androidx.sqlite:sqlite-framework:2.3.0-alpha01
및 androidx.sqlite:sqlite-ktx:2.3.0-alpha01
이 출시되었습니다. 버전 2.3.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 복구 메커니즘 중 데이터 손실을 허용하는 API를 SupportSQLite의 구성에 추가합니다. (I1b830, b/215592732)
- 다중 프로세스의 첫 번째 데이터베이스 생성과 이전을 보호하기 위해 FrameworkSQLite* 수준에서 다중 프로세스 잠금과 사용을 위한 API를 추가했습니다. (Ied267, b/193182592)
버전 2.2.0
버전 2.2.0
2021년 12월 15일
androidx.sqlite:sqlite:2.2.0
, androidx.sqlite:sqlite-framework:2.2.0
및 androidx.sqlite:sqlite-ktx:2.2.0
이 출시되었습니다. 버전 2.2.0에 포함된 커밋을 확인하세요.
2.1.0 이후 중요 변경사항
SupportSQLiteDatabase
에 execPerConnectionSQL()
의 기본 메서드를 추가합니다.
버전 2.2.0-rc01
2021년 12월 1일
androidx.sqlite:sqlite:2.2.0-rc01
, androidx.sqlite:sqlite-framework:2.2.0-rc01
및 androidx.sqlite:sqlite-ktx:2.2.0-rc01
이 출시되었습니다. 버전 2.2.0-rc01에 포함된 커밋을 확인하세요.
2.2.0-beta01 이후 큰 변경사항이 없습니다.
버전 2.2.0-beta01
2021년 10월 13일
androidx.sqlite:sqlite:2.2.0-beta01
, androidx.sqlite:sqlite-framework:2.2.0-beta01
및 androidx.sqlite:sqlite-ktx:2.2.0-beta01
이 출시되었습니다. 버전 2.2.0-beta01에 포함된 커밋을 확인하세요.
- 이전 알파 버전에서 변경된 사항이 없습니다.
버전 2.2.0-alpha02
2021년 7월 21일
androidx.sqlite:sqlite:2.2.0-alpha02
, androidx.sqlite:sqlite-framework:2.2.0-alpha02
및 androidx.sqlite:sqlite-ktx:2.2.0-alpha02
가 출시되었습니다. 버전 2.2.0-alpha02에 포함된 커밋을 확인하세요.
2.2.0-alpha01 이후 큰 변경사항이 없습니다. 이 버전은 Room 2.4.0-alpha04
출시에 맞추기 위해 출시되었습니다.
버전 2.2.0-alpha01
2021년 6월 16일
androidx.sqlite:sqlite:2.2.0-alpha01
, androidx.sqlite:sqlite-framework:2.2.0-alpha01
및 androidx.sqlite:sqlite-ktx:2.2.0-alpha01
이 출시되었습니다. 버전 2.2.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- SupportSQLiteDatabase에
execPerConnectionSQL()
의 기본 메서드가 추가됩니다. (I86326, b/172270145)
버전 2.1.0
버전 2.1.0
2020년 1월 22일
androidx.sqlite:sqlite:2.1.0
, androidx.sqlite:sqlite-framework:2.1.0
및 androidx.sqlite:sqlite-ktx:2.1.0
은 2.1.0-rc01
이후 변경사항 없이 출시되었습니다. 버전 2.1.0에 포함된 커밋을 확인하세요.
2.0.1 이후 중요 변경사항
useNoBackupDirectory
가 지원됩니다. 이는SupportSQLiteOpenHelper
사용 시 데이터베이스를 백업 없는 디렉터리에서 생성해야 한다는 것을 나타내는 데 사용할 수 있습니다.
버전 2.1.0-rc01
2020년 1월 8일
androidx.sqlite:sqlite-*:2.1.0-rc01
이 출시되었습니다. 버전 2.1.0-rc01에 포함된 커밋을 확인하세요.
이 버전은 2.1.0-beta01
과 동일합니다.
버전 2.1.0-beta01
2019년 12월 4일
androidx.sqlite:sqlite:2.1.0-beta01
, androidx.sqlite:sqlite-framework:2.1.0-beta01
및 androidx.sqlite:sqlite-ktx:2.1.0-beta01
은 2.1.0-alpha01
이후 변경사항 없이 출시되었습니다. 버전 2.1.0-beta01에 포함된 커밋을 확인하세요.
버전 2.1.0-alpha01
2019년 11월 7일
androidx.sqlite:sqlite:2.1.0-alpha01
, androidx.sqlite:sqlite-framework:2.1.0-alpha01
및 androidx.sqlite:sqlite-ktx:2.1.0-alpha01
이 출시되었습니다. 버전 2.1.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
SupportSQLiteOpenHelper.Configuration
에useNoBackupDirectory
라는 새 속성이 추가되었습니다. 이 속성은 파일 기반 데이터베이스를 백업 없는 디렉터리에서 생성하고 찾아야 한다는 것을 나타냅니다.
버전 2.0.1
버전 2.0.1
2019년 3월 13일
버전 2.0.1의 androidx.sqlite
아티팩트 그룹이 두 가지 버그 수정과 함께 출시되었습니다.
버그 수정
FrameworkSQLiteOpenHelper
가 초기화 과정에서 손상된 데이터베이스 또는 잘못된 이전을 제대로 복구하지 못하는 두 가지 문제가 수정되었습니다. (b/111504749, b/111519144)