Sqlite

Thư viện androidx.sqlite chứa các lớp giao tiếp trừu tượng cùng với các hàm triển khai cơ bản giúp bạn tự xây dựng những thư viện liên kết với SQLite.

Bạn nên cân nhắc sử dụng thư viện Room. Thư viện này cung cấp một lớp trừu tượng thông qua SQLite cho phép truy cập vào cơ sở dữ liệu hiệu quả hơn, đồng thời khai thác tối đa sức mạnh của SQLite.

Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 11 tháng 1 năm 2023 2.3.0 - - -

Khai báo phần phụ thuộc

Để thêm thành phần phụ thuộc vào SQLite, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

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")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 2.3.0

Phiên bản 2.3.0

Ngày 11 tháng 1 năm 2023

Phát hành androidx.sqlite:sqlite:2.3.0, androidx.sqlite:sqlite-framework:2.3.0androidx.sqlite:sqlite-ktx:2.3.0. Phiên bản 2.3.0 bao gồm các thay đổi sau.

Các thay đổi quan trọng kể từ phiên bản 2.2.0

  • Các nguồn của nhóm thư viện androidx.sqlite đã được chuyển đổi từ Java sang Kotlin. Xin lưu ý rằng vì androidx.sqlite thiếu một số chú thích về tính chất rỗng, nên có thể bạn sẽ gặp lỗi không tương thích với nguồn nếu các nguồn của bạn nằm trong Kotlin và mã này suy luận tính chất rỗng không chính xác. Hơn nữa, một số phương thức getter nhất định được chuyển đổi thành các thuộc tính yêu cầu cú pháp truy cập vào thuộc tính trên các tệp Kotlin. Vui lòng báo cáo lỗi nếu có bất kỳ sự cố không tương thích đáng kể nào. (b/240707042)
  • Thêm một API trong cấu hình SupportSQLite's để cho phép thất thoát dữ liệu trong cơ chế khôi phục. (I1b830, b/215592732)
  • Thêm API để khoá và sử dụng đa tiến trình ở cấp FrameworkSQLite* nhằm đảm bảo việc khởi tạo và di chuyển cơ sở dữ liệu lần đầu tiên theo nhiều tiến trình. (Ied267, b/193182592)

Phiên bản 2.3.0-rc01

Ngày 7 tháng 12 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-rc01, androidx.sqlite:sqlite-framework:2.3.0-rc01androidx.sqlite:sqlite-ktx:2.3.0-rc01. Phiên bản 2.3.0-rc01 bao gồm các thay đổi sau.

Sửa lỗi

  • Giải quyết vấn đề NPE trong SupportSQLiteQueryBuilder cho các cột có tính chất rỗng. (Ica8f5)

Phiên bản 2.3.0-beta02

Ngày 9 tháng 11 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-beta02, androidx.sqlite:sqlite-framework:2.3.0-beta02androidx.sqlite:sqlite-ktx:2.3.0-beta02. Phiên bản 2.3.0-beta02 bao gồm các thay đổi sau.

  • Khắc phục nhiều API lấy đối số truy vấn từ mảng bất biến (Array<Any?>) thành mảng phản biến (Array<out Any?>) để khớp với hành vi mảng của Java. (b/253531073)

Phiên bản 2.3.0-beta01

Ngày 5 tháng 10 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-beta01, androidx.sqlite:sqlite-framework:2.3.0-beta01androidx.sqlite:sqlite-ktx:2.3.0-beta01. Phiên bản 2.3.0-beta01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Tất cả các nguồn android.sqlite đã được chuyển đổi từ Java sang Kotlin. b/240707042
  • Một sự thay đổi đáng chú ý của lượt chuyển đổi là các hàm getter sau đây đã trở thành thuộc tính:
    • Trong SupportSQLiteDatabase:
    • attachedDbs
    • isDatabaseIntegrityOk
    • isDbLockedByCurrentThread
    • isOpen
    • isReadOnly
    • isWriteAheadLoggingEnabled
    • maximumSize
    • pageSize
    • path
    • version
    • Trong SupportSQLiteOpenHelper:
    • databaseName
    • readableDatabase
    • writableDatabase

Phiên bản 2.3.0-alpha05

Ngày 24 tháng 8 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-alpha05, androidx.sqlite:sqlite-framework:2.3.0-alpha05androidx.sqlite:sqlite-ktx:2.3.0-alpha05. Phiên bản 2.3.0-alpha05 bao gồm các thay đổi sau.

Các thay đổi về API

  • Các nguồn nhóm thư viện androidx.sqlite đã được chuyển đổi từ Java sang Kotlin. Xin lưu ý rằng vì androidx.sqlite bị thiếu một số chú thích về tính chất rỗng, nên có thể bạn sẽ gặp lỗi không tương thích với nguồn nếu các nguồn của bạn nằm trong Kotlin và mã này suy luận tính chất rỗng không chính xác. Vui lòng báo cáo lỗi nếu có bất kỳ sự không tương thích đáng kể nào. (b/240707042)

Phiên bản 2.3.0-alpha04

Ngày 10 tháng 8 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-alpha04, androidx.sqlite:sqlite-framework:2.3.0-alpha04androidx.sqlite:sqlite-ktx:2.3.0-alpha04. Phiên bản 2.3.0-alpha04 bao gồm các thay đổi sau.

Các thay đổi về API

  • Cập nhật tính chất rỗng (I29fbd)

Phiên bản 2.3.0-alpha03

Ngày 1 tháng 6 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-alpha03, androidx.sqlite:sqlite-framework:2.3.0-alpha03androidx.sqlite:sqlite-ktx:2.3.0-alpha03. Phiên bản 2.3.0-alpha03 bao gồm các thay đổi sau.

Các thay đổi về API

  • Đặt androidx.sqlite.ProcessLock ở chế độ hạn chế. API này nằm trong phạm vi, giới hạn hàm bên trong androidx.sqlite và không được dùng làm khoá đa quy trình có chung mục đích. (I1643f)

Phiên bản 2.3.0-alpha02

Ngày 6 tháng 4 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-alpha02, androidx.sqlite:sqlite-framework:2.3.0-alpha02androidx.sqlite:sqlite-ktx:2.3.0-alpha02. Phiên bản 2.3.0-alpha02 bao gồm các thay đổi sau.

  • Không có thay đổi đáng kể nào kể từ phiên bản 2.3.0-alpha01.

Phiên bản 2.3.0-alpha01

Ngày 23 tháng 2 năm 2022

Phát hành androidx.sqlite:sqlite:2.3.0-alpha01, androidx.sqlite:sqlite-framework:2.3.0-alpha01androidx.sqlite:sqlite-ktx:2.3.0-alpha01. Phiên bản 2.3.0-alpha01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thêm một API vào cấu hình của SupportSQLite nhằm cho phép thất thoát dữ liệu xảy ra trong cơ chế khôi phục. (I1b830, b/215592732)
  • Thêm API để khoá và sử dụng đa tiến trình ở cấp FrameworkSQLite* nhằm đảm bảo việc khởi tạo và di chuyển cơ sở dữ liệu lần đầu tiên theo nhiều tiến trình. (Ied267, b/193182592)

Phiên bản 2.2.0

Phiên bản 2.2.0

Ngày 15 tháng 12 năm 2021

Phát hành androidx.sqlite:sqlite:2.2.0, androidx.sqlite:sqlite-framework:2.2.0androidx.sqlite:sqlite-ktx:2.2.0. Phiên bản 2.2.0 bao gồm các thay đổi sau.

Thay đổi quan trọng kể từ phiên bản 2.1.0

Thêm phương thức mặc định cho execPerConnectionSQL() trong SupportSQLiteDatabase.

Phiên bản 2.2.0-rc01

Ngày 1 tháng 12 năm 2021

Phát hành androidx.sqlite:sqlite:2.2.0-rc01, androidx.sqlite:sqlite-framework:2.2.0-rc01androidx.sqlite:sqlite-ktx:2.2.0-rc01. Phiên bản 2.2.0-rc01 bao gồm các thay đổi sau.

Không có thay đổi đáng kể nào từ phiên bản 2.2.0-beta01.

Phiên bản 2.2.0-beta01

Ngày 13 tháng 10 năm 2021

Phát hành androidx.sqlite:sqlite:2.2.0-beta01, androidx.sqlite:sqlite-framework:2.2.0-beta01androidx.sqlite:sqlite-ktx:2.2.0-beta01. Phiên bản 2.2.0-beta01 bao gồm các thay đổi sau.

  • Không có thay đổi nào từ phiên bản alpha trước đó.

Phiên bản 2.2.0-alpha02

Ngày 21 tháng 7 năm 2021

Phát hành androidx.sqlite:sqlite:2.2.0-alpha02, androidx.sqlite:sqlite-framework:2.2.0-alpha02androidx.sqlite:sqlite-ktx:2.2.0-alpha02. Phiên bản 2.2.0-alpha02 bao gồm các thay đổi sau.

Không có thay đổi đáng kể nào kể từ phiên bản 2.2.0-alpha01. Bản phát hành này chỉ tương thích với bản phát hành Room 2.4.0-alpha04.

Phiên bản 2.2.0-alpha01

Ngày 16 tháng 6 năm 2021

Phát hành androidx.sqlite:sqlite:2.2.0-alpha01, androidx.sqlite:sqlite-framework:2.2.0-alpha01androidx.sqlite:sqlite-ktx:2.2.0-alpha01. Phiên bản 2.2.0-alpha01 bao gồm các thay đổi sau.

Các thay đổi về API

  • Thêm phương thức mặc định cho execPerConnectionSQL() trong SupportSQLiteInfrastructure (I86326, b/172270145)

Phiên bản 2.1.0

Phiên bản 2.1.0

Ngày 22 tháng 1 năm 2020

Các phiên bản androidx.sqlite:sqlite:2.1.0, androidx.sqlite:sqlite-framework:2.1.0androidx.sqlite:sqlite-ktx:2.1.0 không có thay đổi nào so với phiên bản 2.1.0-rc01. Phiên bản 2.1.0 bao gồm các thay đổi sau.

Những thay đổi quan trọng kể từ phiên bản 2.0.1

  • Tính năng hỗ trợ useNoBackupDirectory có thể được dùng để báo hiệu rằng cơ sở dữ liệu cần được tạo trong thư mục không sao lưu khi sử dụng SupportSQLiteOpenHelper.

Phiên bản 2.1.0-rc01

Ngày 8 tháng 1 năm 2020

Phát hành phiên bản androidx.sqlite:sqlite-*:2.1.0-rc01. Phiên bản 2.1.0-rc01 bao gồm các thay đổi sau.

Bản phát hành này giống hệt với 2.1.0-beta01.

Phiên bản 2.1.0-beta01

Ngày 4 tháng 12 năm 2019

Các phiên bản androidx.sqlite:sqlite:2.1.0-beta01, androidx.sqlite:sqlite-framework:2.1.0-beta01androidx.sqlite:sqlite-ktx:2.1.0-beta01 không có thay đổi nào so với phiên bản 2.1.0-alpha01. Phiên bản 2.1.0-beta01 bao gồm các thay đổi sau.

Phiên bản 2.1.0-alpha01

Ngày 7 tháng 11 năm 2019

Phát hành androidx.sqlite:sqlite:2.1.0-alpha01, androidx.sqlite:sqlite-framework:2.1.0-alpha01androidx.sqlite:sqlite-ktx:2.1.0-alpha01. Phiên bản 2.1.0-alpha01 bao gồm các thay đổi sau.

Thay đổi về API

  • Thêm thuộc tính mới cho lớp SupportSQLiteOpenHelper.Configuration có tên là useNoBackupDirectory để thông báo rằng cơ sở dữ liệu dựa trên tệp cần được khởi tạo và chứa trong thư mục không sao lưu.

Phiên bản 2.0.1

Phiên bản 2.0.1

Ngày 13 tháng 3 năm 2019

Phát hành phiên bản 2.0.1 của nhóm cấu phần phần mềm androidx.sqlite cùng với 2 bản sửa lỗi.

Sửa lỗi

  • Khắc phục 2 vấn đề khiến FrameworkSQLiteOpenHelper không thể khôi phục đúng cách từ một cơ sở dữ liệu bị hỏng hoặc quá trình di chuyển không hợp lệ trong khi khởi động. (b/111504749 and b/111519144)