Android操作SQLite基本用法

前言

SQLite是一個進程內的庫,實現瞭自給自足的、無服務器的、零配置的、事務性的 SQL 數據庫引擎。它是一個零配置的數據庫,這意味著與其他數據庫不一樣,您不需要在系統中配置。就像其他數據庫,SQLite 引擎不是一個獨立的進程,可以按應用程序需求進行靜態或動態連接。SQLite 直接訪問其存儲文件。

為什麼要使用SQLite

  • 不需要一個單獨的服務器進程或操作的系統(無服務器的)。
  • SQLite 不需要配置,這意味著不需要安裝或管理。
  • 一個完整的 SQLite 數據庫是存儲在一個單一的跨平臺的磁盤文件。
  • SQLite 是非常小的,是輕量級的,完全配置時小於 400KiB,省略可選功能配置時小於250KiB。
  • SQLite 是自給自足的,這意味著不需要任何外部的依賴。
  • SQLite 事務是完全兼容 ACID 的,允許從多個進程或線程安全訪問。
  • SQLite 支持 SQL92(SQL2)標準的大多數查詢語言的功能。
  • SQLite 使用 ANSI-C 編寫的,並提供瞭簡單和易於使用的 API。
  • SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中運行。

綜合來看,即輕量 兼容 多端 無需配置 無外部依賴 擁有簡單易懂的API 安全

在Android中如何使用

Android 提供的 SQLiteOpenHelper.java 是一個抽象類。那麼在Eclipse中創建Class類時,選擇此抽象類模板即可,而在Android Studio中,必須自己寫一個類來繼承它,根據平時類名稱簡潔易懂的習慣上,我們創建的都是MyDataBaseHelper.java或DataBaseHelper.java簡寫DBHelper.java。

數據庫如何創建

Android Studio中

右鍵需要創建數據庫.java文件的包,選擇new,選擇新建Class

在彈出框中選擇輸入類名稱

這一行規定死瞭,隻能是這樣的:

   public class DBHelper extends SQLiteOpenHelper{
   }

需要寫一個帶全部參數的DBHelper類的構造函數以便於生成數據庫對象:

//帶有全部參數的構造函數,此構造函數是必須需要的。Eclipse和Android Studio均有自動填充功能
public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {
        super(context, name, factory, version);
}

繼承的抽象類SQLiteOpenHelper中的兩個抽象方法:

   @Override
   public void onCreate(SQLiteDatabase db) {
       //創建數據庫sql語句
       String sql = "create table user(name varchar(20))";
       //執行sql語句
       db.execSQL(sql);
   }
   @Override
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
   }

Eclipse中

右鍵需要創建數據庫.java文件的包,選擇new,選擇新建Class

在彈出框中選擇SQLiteOpenHelper

點擊Finish即創建成功

數據庫如何生成

第一句代碼中,創建Activity時會自動生成。在Activity中創建數據庫,這裡我們給數據庫起名為“info.db”,數據庫版本號為1,代碼如下:

//依靠DatabaseHelper帶全部參數的構造函數創建數據庫
DBHelper dbHelper = new DBHelper(MainActivity.this, "info.db",null,1);
SQLiteDatabase db = dbHelper.getWritableDatabase();

數據庫的增刪改查

   db.insert();

   db.delete();

   db.update();

   Cursor cursor = db.rawQuery("select * from info.db", null);
   if (cursor.getCount() != 0) {
   }

以上所述是小編給大傢介紹的Android操作SQLite基本用法,希望對大傢有所幫助。在此也非常感謝大傢對WalkonNet網站的支持!

推薦閱讀: