內置在android底層的小型數據庫的使用基本上跟SQL sever使用都是一致的;
創建一個SQLite數據的基本流程如下,需要實現SQLopenHelper這個數據庫管理助手接口。如下:新建一個mySQLiteopebHelper類

1 public class MySQLiteHelper extends SQLiteOpenHelper { 2 // 構造一個SQLiteOpenHelper 3 public MySQLiteHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version){ 4 super(context,name,factory,version); 5 } 6 7 @Override 8 public void onCreate(SQLiteDatabase db) { 9 // 創建一個數據庫以及表格(ID,NAME,AGE),其中主鍵為ID,自增形式 10 db.execSQL("create table mytable(id integer primary key autoincrement,name text,age integer)"); 11 } 12 13 @Override 14 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 15 // 數據庫更新 16 } 17 }
在Activity里面的實例化一個數據庫管理助手實例,接着創建一個數據庫實例。getReadableDatabase()和getWirtableDatabase()分別可以創建一個SQLiteDatabase,但是兩個方法還是有區別的,前者創建的數據庫是以讀寫方式打開數據庫的,當磁盤滿的時候,會失敗,重新打開會以只讀的模式打開數據庫,后者創建的數據庫也是以讀寫方式打開的數據庫,當磁盤滿的時候,會失敗報錯,所以一般建議使用getReadableDatabase()方式創建數據庫。下面的例子列舉了數據庫的常用方法。

1 MySQLiteHelper mySQLiteHelper; // 申明一個數據庫管理助手對象 2 SQLiteDatabase database; // 申明一個數據庫對象 3 4 // 構造一個數據庫管理助手對象 5 mySQLiteHelper=new MySQLiteHelper(this,"testdb",null,1); 6 // 該方法創建一個數據庫,可以讀寫,磁盤滿了會自動更改模式為只讀模式,getWritableDatabase()盤滿報錯 7 database=mySQLiteHelper.getReadableDatabase(); 8 // 創建一個數據表 9 database.execSQL("create table mytable(id integer primary key autoincrement,name text,age integer)"); 10 // 增加數據(第一種方法) 11 ContentValues contentValues=new ContentValues(); 12 contentValues.put("id",1); 13 contentValues.put("name","隔壁老王"); 14 contentValues.put("age",30);; 15 database.insert("mytable",null,contentValues); 16 // 增加數據(方法二) 17 String intsert="intsert into mytable(id,name,age) value(1,\"隔壁老王\",30)"; 18 database.execSQL(intsert); 19 // 刪除數據(刪除表mytable,id=1那一行開始的系列數據)(方法一) 20 database.delete("mytable","id=?",new String[]{"1"}); 21 // 刪除數據9方法二) 22 String delete="delete from mytable where id=2"; 23 database.execSQL(delete);// 執行SQL語句 24 // 查詢數據(返回一個指針索引,以此調用相應方法查詢數據) 25 Cursor cursor=database.query("mytable",new String[]{"id","name","age"},null,null,null,null,null); 26 while (cursor.moveToNext()){ 27 int idindex=cursor.getColumnIndex("id"); 28 int id=cursor.getInt(idindex); 29 30 int nameindex=cursor.getColumnIndex("name"); 31 String name=cursor.getString(nameindex); 32 33 int ageindex=cursor.getColumnIndex("age"); 34 int age=cursor.getInt(ageindex); 35 36 String result=id+" "+name+" "+age+"\n"; 37 } 38 // 修改數據 39 ContentValues contentValues1=new ContentValues(); 40 contentValues1.put("id",3); 41 contentValues1.put("name","隔壁小王"); 42 contentValues1.put("age",15); 43 database.update("mytable",contentValues1,"id=?",new String[]{"1"}); 44 // 關閉數據庫 45 database.close();