歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android操作嵌入式關系型SQLite數據庫

SQLite特點

1.Android平台中嵌入了一個關系型數據庫SQLite,和其他數據庫不同的是SQLite存儲數據時不區分類型

例如一個字段聲明為Integer類型,我們也可以將一個字符串存入,一個字段聲明為布爾型,我們也可以存入浮點數。

除非是主鍵被定義為Integer,這時只能存儲64位整數

2.創建數據庫的表時可以不指定數據類型,例如:

CREATE TABLEperson(id INTEGER PRIMARY KEY, name)

3.SQLite支持大部分標准SQL語句,增刪改查語句都是通用的,分頁查詢語句和MySQL相同

SELECT * FROMperson LIMIT 20 OFFSET 10

SELECT * FROMperson LIMIT 20,10

創建數據庫

 1.定義類繼承SQLiteOpenHelper

2.聲明構造函數,4個參數

3.重寫onCreate()方法

4. 重寫upGrade()方法

示例:

  1. package cn.itcast.sqlite;  
  2.   
  3. import android.content.Context;  
  4. import android.database.sqlite.SQLiteDatabase;  
  5. import android.database.sqlite.SQLiteOpenHelper;  
  6. import android.database.sqlite.SQLiteDatabase.CursorFactory;  
  7.   
  8. public class DBOpenHelper extends SQLiteOpenHelper {  
  9.   
  10.     /**  
  11.      * 創建OpenHelper  
  12.      * @param context 上下文  
  13.      * @param name 數據庫名  
  14.      * @param factory 游標工廠  
  15.      * @param version 數據庫版本, 不要設置為0, 如果為0則會每次都創建數據庫  
  16.      */  
  17.     public DBOpenHelper(Context context, String name, CursorFactory factory, int version) {  
  18.         super(context, name, factory, version);  
  19.     }  
  20.   
  21.     /**  
  22.      * 當數據庫第一次創建的時候被調用  
  23.      */  
  24.     public void onCreate(SQLiteDatabase db) {  
  25.         db.execSQL("CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT, name)");  
  26.     }  
  27.   
  28.     /**  
  29.      * 當數據庫版本發生改變的時候被調用  
  30.      */  
  31.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  32.         db.execSQL("ALTER TABLE person ADD balance");  
  33.     }  
  34. }  
  1. public void testCreateDB() {  
  2.     DBOpenHelper helper = new DBOpenHelper(getContext(), "itcast.db", null, 2);  
  3.     helper.getWritableDatabase(); // 創建數據庫  
  4. }  
Copyright © Linux教程網 All Rights Reserved