SQLite在Android程式中的使用方法,SQLite的增刪查改方法

來源:互聯網
上載者:User

標籤:

Sqlite:

1.一款用來實現本機資料儲存的輕量級資料管理工具,是眾多用來實現資料庫管理的工具之一。

2.Android已經將SQLite的代碼功能吸收在它的系統中,我們可以直接在Android程式中使用SQLite的語句來建立資料庫,並實現資料庫的增刪查改

SQLite的簡單使用方法:

如何獲得一個資料庫的class模板,並設定資料庫裡的資料結構:

自己建立一個類,繼承SQLiteOpenHelper,並重寫構造方法,oncreate(),onUpgrade()

 

自訂類的代碼實現方法和構造方法的原始模板解析:

public class Database extends SQLiteOpenHelper {    public Database(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {        super(context, name, factory, version);
     //Context
     //String name "建立資料庫的名字"
     //SQLiteDatabase.CursorFactory factory "在資料庫中尋找是的游標(相當於數組中的下標)"
     // int Version "資料庫的版本資訊"  
    }    @Override    public void onCreate(SQLiteDatabase db) {      //在建立資料庫的時候調用    }    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {      //每次啟動資料庫會檢測資料庫的版本資訊,如果版本有變動就會執行此方法    }}

 

用來實現資料庫的自訂類的具體代碼:

public class Data extends SQLiteOpenHelper 

public Data(Context context) {

    //簡單起見,直接指定了資料庫的名字為DATA,游標資訊為null,版本為1
    //所以在自訂的類的構造方法中只有Context參數
    //在調用父類構造方法的時候,給定固定的參數來簡化資料庫建立
super(context,"DATA", null, 1); } @Override public void onCreate(SQLiteDatabase db) {
      //建立資料庫建構內容的語句,具體解析在下文整理 db.execSQL("CREATE TABLE user("+
"_id INTEGER PRIMARY KEY AUTOINCREMENT," + "name TEXT DEFAULT \"\"," + "sex TEXT DEFAULT \"\")");
    //以上的語句給出了一個名為user的資料庫結構對象,裡麵包含INTERGER類型的_id資訊,並自增
    //TEXT資料類型的name
    //text資料類型的sex
} @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {      //由於給出了版本參數資訊為固定的1,所以不會執行資料庫更新操作 }}

 

自己重寫了資料庫的模板後,如何?資料庫的使用和管理:

1.利用自訂的資料庫類來建立一個資料庫物件,

2.再通過建立的資料庫得到可讀的資料庫物件和可寫的資料庫物件,

建立ContentValues對象向獲得的可寫資料庫中新增內容,實現代碼:

Private Data data = new Data(this);private SQLiteDatabase dbWriter = db.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put("name",etName.getText().toString()); cv.put("sex",etSex.getText().toString());
//insert方法的三個參數的意義分別是:插入資料表的名稱,插入資料表的位置資訊,插入的對象
 dbWriter.insert("user",null,cv);
//每次使用完資料庫之後,記得關閉資料庫,類似I/O的關閉 
dbWrite.close();


註:位置資訊這裡填的是null,具體運行方式尚不清楚,但看到這裡的時候,有時間去研究一下

通過獲得的可讀資料庫物件,在目標資料庫中進行尋找的方法實現代碼:

SQLiteDatabase DB = db.getReadableDatabase();
//建立一個游標對象,指明在“user”資料表中尋找,後面的參數是一系列限制條件,
//全部為null意味輸出所有user中的資料Cursor c = DB.query("user",null,null,null,null,null,null);
//當游標仍然能夠向下一行啟動並執行時候,執行資料庫的讀取操作
while (c.moveToNext()){String name=c.getString(c.getColumnIndex("name"));String sex=c.getString(c.getColumnIndex("sex"));Toast.makeText(getApplicationContext(),name+"--"+sex,Toast.LENGTH_SHORT).show();
}

 

SQLite在Android程式中的使用方法,SQLite的增刪查改方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.