loading...

Kiến thức về SQLite Database trong Android

01:57:24 - 25/07/2018 - admin

SQLite là cơ sở dữ liệu SQL mã nguồn mở lưu trữ dữ liệu vào một tệp văn bản trên một thiết bị. SQLite hỗ trợ tất cả các tính năng cơ sở dữ liệu quan hệ. Để truy cập cơ sở dữ liệu này, bạn không cần phải thiết lập bất kỳ loại kết nối nào cho nó như JDBC, ODBC, v.v. Hãy cùng chúng tôi tìm hiểu về SQLite Database trong Android https://www.devpro.edu.vn/full-tai-lieu-tu-hoc-lap-trinh-android-tu-co-ban-nang-cao qua bài viết dưới đây nhé!.

Hãy xem lại một số lớp quan trọng mà chúng ta sẽ sử dụng khi làm việc với SQLite database.

Lớp Sự miêu tả
SQLiteDatabase Đại diện cho cơ sở dữ liệu SQLite của Android.
SQLiteOpenHelper Một lớp trợ giúp quản lý DB SQLite của Android
SQLiteQuery Đại diện cho truy vấn Android SQLite DB
SQLite Statement Đại diện cho một câu lệnh SQLite của Android
SQLiteCursor Cho thấy kết quả từ truy vấn, sử dụng để lặp qua các kết quả từ truy vấn.
SQLiteQueryBuilder Một lớp trợ giúp để xây dựng và quản lý các truy vấn
SQLiteException Đại diện cho một ngoại lệ cho SQLite của Android

SQLiteOpenHelper

Lớp android.database.sqlite.SQLiteOpenHelper được sử dụng để tạo và quản lý phiên bản cơ sở dữ liệu. Để thực hiện bất kỳ hoạt động cơ sở dữ liệu nào, bạn phải cung cấp việc triển khai các phương thức onCreate () và onUpgrade () của lớp SQLiteOpenHelper.

  • Các phương thức của lớp SQLiteOpenHelper
public abstract void onCreate (SQLiteDatabase db) chỉ được gọi một lần khi cơ sở dữ liệu được tạo lần đầu tiên.
public abstract void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion) được gọi khi cơ sở dữ liệu cần được nâng cấp.
đồng bộ hóa công cộng void close () đóng đối tượng cơ sở dữ liệu.
public void onDowngrade (SQLiteDatabase db, int oldVersion, int newVersion) được gọi khi cơ sở dữ liệu cần được hạ cấp.

SQLiteDatabase

Nó chứa các phương thức được thực hiện trên cơ sở dữ liệu sqlite như tạo, cập nhật, xóa, chọn, v.v.

  • Các phương thức của lớp SQLiteDatabase
void execSQL (Chuỗi sql) thực hiện truy vấn sql không chọn truy vấn.
chèn dài (bảng chuỗi, chuỗi nullColumnHack, giá trị ContentValues) chèn một bản ghi vào cơ sở dữ liệu. Bảng xác định tên bảng, nullColumnHack không cho phép các giá trị rỗng hoàn toàn. Nếu đối số thứ hai là null, android sẽ lưu trữ giá trị null nếu giá trị trống. Đối số thứ ba xác định các giá trị được lưu trữ.
int update (Bảng chuỗi, giá trị ContentValues, String whereClause, String [] whereArgs) cập nhật một hàng.
Truy vấn con trỏ (bảng chuỗi, chuỗi [] cột, lựa chọn chuỗi, String [] selectionArgs, String groupBy, String có, String orderBy) trả về một con trỏ trên resultset.

Database – Creation


Để tạo một cơ sở dữ liệu, bạn chỉ cần gọi phương thức openOrCreateDatabase với tên và chế độ cơ sở dữ liệu của bạn làm tham số. Nó trả về một cá thể của cơ sở dữ liệu SQLite mà bạn phải nhận trong cú pháp object.Its của riêng bạn được đưa ra dưới đây:

SQLiteDatabase mydatabase = openOrCreateDatabase(“your database name”,MODE_PRIVATE,null);

Database – Insertion

Chúng ta có thể tạo bảng hoặc chèn dữ liệu vào bảng bằng phương thức execSQL được định nghĩa trong lớp SQLiteDatabase. Cú pháp của nó được đưa ra dưới đây

mydatabase.execSQL(“CREATE TABLE IF NOT EXISTS TutorialsPoint(Username VARCHAR,Password VARCHAR);”);

mydatabase.execSQL(“INSERT INTO TutorialsPoint VALUES(‘admin’,’admin’);”);

Điều này sẽ chèn một số giá trị vào bảng của chúng ta trong cơ sở dữ liệu. Một phương thức khác cũng thực hiện cùng một công việc nhưng có một số tham số bổ sung dưới đây:

execSQL (String sql, Object [] bindArgs): Phương thức này không chỉ chèn dữ liệu mà còn được sử dụng để cập nhật hoặc sửa đổi dữ liệu hiện có trong cơ sở dữ liệu bằng cách sử dụng các đối số liên kết.

Database – Fetching

Chúng ta có thể lấy bất cứ thứ gì từ database bằng cách sử dụng một đối tượng của lớp Cursor. Chúng ta sẽ gọi một phương thức của lớp này là rawQuery và nó sẽ trả về một resultset với con trỏ trỏ tới bảng. Chúng ta có thể di chuyển con trỏ về phía trước và lấy dữ liệu.

Cursor resultSet = mydatbase.rawQuery(“Select * from TutorialsPoint”,null);

resultSet.moveToFirst();

String username = resultSet.getString(0);

String password = resultSet.getString(1);

Có các hàm khác có sẵn trong lớp này cho phép chúng tôi truy xuất dữ liệu một cách hiệu quả. Nó bao gồm:

  • getColumnCount (): Phương thức này trả về tổng số cột của bảng.
  • getColumnIndex (String columnName): Phương thức này trả về số chỉ mục của một cột bằng cách chỉ định tên cột.
  • getColumnName (int columnIndex): Phương thức này trả về tên của cột bằng cách chỉ định chỉ mục của cột.
  • getColumnNames (): Phương thức này trả về mảng của tất cả các tên cột của bảng.
  • getCount (): Phương thức này trả về tổng số hàng trong con trỏ.
  • getPosition (): Phương thức này trả về vị trí hiện tại của con trỏ trong bảng.
  • isClosed (): Phương thức này trả về true nếu con trỏ bị đóng và trả về false nếu không.

Database – Helper class

Để quản lý tất cả các hoạt động liên quan đến cơ sở dữ liệu, một lớp trợ giúp đã được đưa ra và được gọi là SQLiteOpenHelper. Nó tự động quản lý việc tạo và cập nhật cơ sở dữ liệu. Cú pháp của nó:

public class DBHelper extends SQLiteOpenHelper {

  public DBHelper(){

     super(context,DATABASE_NAME,null,1);

  }

  public void onCreate(SQLiteDatabase db) {}

  public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) {}

}

Làm thế nào để xem dữ liệu được lưu trữ trong SQLite trong studio android?

Làm theo các bước sau để xem cơ sở dữ liệu và dữ liệu của nó được lưu trữ trong SQLite android:

  • Mở File Explorer.
  • Chuyển đến thư mục dữ liệu bên trong thư mục dữ liệu.
  • Tìm kiếm tên gói ứng dụng của bạn.
  • Bên trong gói ứng dụng của bạn đi đến cơ sở dữ liệu, nơi bạn sẽ tìm thấy cơ sở dữ liệu của bạn (contactsManager).
  • Lưu cơ sở dữ liệu của bạn (contactsManager) bất cứ nơi nào bạn muốn.
  • Tải xuống bất kỳ plugin hoặc công cụ trình duyệt SqLite nào (trong trường hợp của tôi là Trình duyệt DB cho SQLite).
  • Khởi chạy Trình duyệt DB cho SQLite và mở cơ sở dữ liệu của bạn (contactsManager).
  • Vào Browse Data -> chọn bảng của bạn (danh bạ), bạn sẽ thấy dữ liệu được lưu trữ.

Bài viết liên quan:

Ý kiến bạn đọc

Bình luận qua Disqus Facebook