一.概況
SQLite是Android內置的一個很小的關系型數據庫,Google為Andriod的較大的數據處理提供了SQLite,他在數據存儲、管理、維護等各方面都相當出色,功能也非常的強大,SQLite具有獨立性、輕量級、隔離性、安全性、跨平台、支持多種語言的優勢,SQliteOpenHelper是一個抽象類,所以必須要實現以下的兩個方法以及一個構造方法
1.構造方法:
public ClassName(Context context, String name, CursorFactory factory, int version)
參數1:上下文對象(MainActivity.this)、
參數2:數據庫的名稱、
參數3:創建Cursor的工廠類,參數為了可以自定義Cursor創建(ps:一般為null)、
參數4:數據庫的版本
2.兩個回調函數:
onCreate(SQLiteDatabase db)該方法是當沒有數據庫存在才會執行
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)該方法是數據庫存更新才會執行
3.實現代碼如下:
public class MyDatabaseOpenHelper extends SQLiteOpenHelper { private static final String db_name = "mydata.db"; // 數據庫名稱 private static final int version = 1; // 數據庫版本 public MyDatabaseOpenHelper(Context context) { super(context, db_name, null, version); } //該方法沒有數據庫存在才會執行 public void onCreate(SQLiteDatabase db) { //沒有數據庫打印日記 Log.i("Log","沒有數據庫,創建數據庫"); //建表語句 String sql_message = "create table t_message (id int primary key,userName varchar(50),lastMessage varchar(50),datetime varchar(50))"; //執行建表語句 db.execSQL(sql_message); } //數據庫存更新才會執行 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i("updateLog","數據庫更新了!"); } }
二.SQLiteDatabase類
1.Android提供了一個名為SQLiteDatabase的類,它封裝了一些操作數據庫的API,SQLiteOpenHelper是SQLiteDatabase的一個幫助類,用來管理數據庫的創建和版本的更新,一般是建立一個類繼承它,並實現它的onCreate和onUpgrade方法
onCreate(SQLiteDatabase db)創建數據庫時調用
onUpgrade(SQLiteDatabase db,int oldVersion , int newVersion)版本更新時調用
getReadableDatabase()創建或打開一個只讀數據庫
getWritableDatabase()創建或打開一個讀寫數據庫
2.調用代碼如下:
public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyDatabaseOpenHelper helper = new MyDatabaseOpenHelper(MainActivity.this); helper.getWritableDatabase().close(); } }
3.SQLiteDatabase相關方法
getCount()總記錄條數
isFirst()判斷是否第一條記錄
isLast()判斷是否最后一條記錄
moveToFirst()移動到第一條記錄
moveToLast()移動到最后一條記錄
move(int offset)移動[是指偏移量而不是指移到指定位置]
moveToNext()移動到嚇一條記錄
moveToPrevious()移動到上一條記錄
getColumnIndex(String columnName)獲得指定列索引的int類型值
三.測試SQL語句方法
運行以上代碼后你會發現在data/data/database 目錄下有個剛剛生成的mydata.db文件這就是我們的數據庫文件
在我們的SDK目錄下的platform-tools文件夾有個sqlite3.exe,打開我們的dos命令台運行它,輸入sqlite3 數據庫文件的絕對路徑便可以打開該數據庫進行增刪查改的操作
(ps:沒有SDK的,這里我提供一下百度雲鏈接:http://pan.baidu.com/s/1o8m6hNc 密碼:zom1)
