[android]數據庫SQLiteDatabase簡介

任何程序離不了數據,因此數據存儲是個非常重要的環節。

 

android中進行數據存儲有三種方式,一種是文件存儲,一種是SharedPreferences,最後一種就是SQLiteDatabase.下面來看下怎樣使用SQLiteDatabase.

 

1.首先要創建一個類,該類繼承自android.database.sqlite.SQLiteOpenHelper,由於這個是abstract class, 因此你需要實現該類的兩個方法,一個是onCreate(),一個是onUpgrade().注:兩個方法的參數都省略了。

 

示例如下:

 

[java] view plaincopy
  1. public class MySQLhelper extends SQLiteOpenHelper {  
  2.     public static final String tableName = "localContact";  
  3.     public static final String ID = "_id";  
  4.     public static final String nameRow = "name";  
  5.     public static final String numRow = "mobileNum";  
  6.     public MySQLhelper(Context context, String name, CursorFactory factory, int version) {  
  7.         super(context, name, factory, version);  
  8.     }  
  9.     @Override  
  10.     public void onCreate(SQLiteDatabase db) {  
  11.         db.execSQL("CREATE TABLE IF NOT EXISTS "+tableName+" ("/*+ID+" INTEGER PRIMARY KEY,"*/+nameRow+" VARCHAR,"+numRow+" VARCHAR)");  
  12.     }  
  13.     @Override  
  14.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  15.         // 刪除以前的舊錶,創建一張新的空表  
  16.         db.execSQL("DROP TABLE IF EXISTS " + tableName);  
  17.         onCreate(db);  
  18.     }  
  19. }  
 

 

2.在activity中,創建一個MySQLhelper的實例

[c-sharp] view plaincopy
  1. MySQLhelper sqlHelper = new MySQLhelper(this,DBname,null,1);  
  2. SQLiteDatabase sql = sqlHelper.getWritableDatabase();  

此時便獲得了剛剛創建的數據庫實例的寫入權限。

 

3.通過調用相應的方法如Insert(),delete()等,對數據庫進行插入和刪除的操作


4.示例:例如進行插入操作時,可以直接調用Insert()方法,代碼如下:

[java] view plaincopy
  1. ContentValues tcv = new ContentValues();  
  2. tcv.put(MySQLhelper.nameRow, name);  
  3. tcv.put(MySQLhelper.numRow, mobilePhone);  
  4. sql.insert(MySQLhelper.tableName, null, tcv);  

也可以通過直接執行SQL語句的方式來插入,

[java] view plaincopy
  1. sql.execSQL("INSERT INTO "+MySQLhelper.tableName+" ("+MySQLhelper.nameRow+","+MySQLhelper.numRow+") VALUES ('"+name+"','"+mobilePhone+"')");  

 

兩種方式最後的效果都是一樣的,其他的操作都類似,不一一列舉。


原文鏈接:http://blog.csdn.net/roadog2006/article/details/5291427

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章