SQLife的初步理解

2021-08-20 17:46:21 字數 3180 閱讀 3773

在安卓程式中需要在網路中儲存一些比較複雜的檔案,比如qq的聊天記錄,用sp設計又太麻煩了,但是如果使用sqlife進行資料儲存就十分方便

sqlife是一種輕型的資料庫,是遵守acid(增刪改查)的關係型資料庫管理系統

首先新建乙個類繼承sqliteopenhelper實現它的幾個方法

oncreate()建立

onupgrade()修改

還有改造引數

表的建立規則為

crate table 表明稱

在**中是這樣實現的:

@override

public void oncreate(sqlitedatabase db)

string sql="create

table student(" +

"id integer

primary

key autoincrement not

null," +

"name text," +

"height real

" + ")";

先從editview得到要新增的資料

string name =main5_name.gettext().tostring();

int age=integer.parseint(main5_psd.gettext().tostring());

contentvalues values=new contentvalues();

values.put("name",name);

values.put("age",age);

mysqlifthelper mysqlifthelper=new mysqlifthelper(this,"student_et",null,1);

/*第乙個引數上下文環境

*第二個引數資料庫名

*第三給引數游標

*第四個引數是sqlife的版本號

*/sqlitedatabase sqlitedatabase=mysqlifthelper.getwritabledatabase();

sqlitedatabase.insert("student",null,values);

/*第乙個參數列名

*第二個引數游標

*第三給引數contentvalues 型別,通過contentvalues 新增資料

*/

從editview 中得到姓名,根據姓名刪除資料

string name=main5_name.gettext().tostring();

mysqlifthelper mysqlifthelper=new mysqlifthelper(this,"student_et",null,1);

sqlitedatabase sqlitedatabase=mysqlifthelper.getwritabledatabase();

//呼叫.delete方法刪除資料

sqlitedatabase.delete("student","name=? and age=?",new string);

/*第乙個參數列名

*第二個引數是列名"列名=?"

*第三給引數是string陣列,new string

/

從editview 中得到姓名和年齡,根據姓名和年齡刪除資料

string name=main5_name.gettext().tostring();

string age=main5_age.gettext().tostring();

mysqlifthelper mysqlifthelper=new mysqlifthelper(this,"student_et",null,1);

sqlitedatabase sqlitedatabase=mysqlifthelper.getwritabledatabase();

sqlitedatabase.delete("student","name=? and age=?",new

string);

/*第乙個參數列名

*第二個引數是列名"列名=? and 第二個列名"

*第三給引數是string陣列,new

string

/

如果要清空全部

sqlitedatabase.delete("student",null,null);
就行了

修改和刪除差不多

string name=main5_name.gettext().tostring();

string age=main5_psd.gettext().tostring();

mysqlifthelper mysqlifthelper=new mysqlifthelper(this,"student_et",null,1);

sqlitedatabase sqlitedatabase=mysqlifthelper.getwritabledatabase();

contentvalues values=new contentvalues();

values.put("name","sb");

//呼叫.update修改資料

sqlitedatabase.update("student",values,"name=? and age=?",new

string);

//第二個引數是contentvalues並且通過它修改資料

這裡我寫了最簡單的從控制台輸出

studentlist.clear();

mysqlifthelper mysqlifthelper=new mysqlifthelper(this,"student_et",null,1);

sqlitedatabase sqlitedatabase=mysqlifthelper.getwritabledatabase();

//設定游標列印資料

cursor cursor=sqlitedatabase.query("student",null,null,null,null,null,null);

cursor.movetofirst();//游標移動的第一位

dowhile (cursor.movetonext())

多型的初步理解

多型 父類的引用型別變數指向了子類的物件 或者是介面的引用型別變數指向了介面實現類物件。多型的前提 必須存在繼承或者實現關係。多型要注意的細節 1.多型情況下,子父類存在同名的成員變數時,預設是訪問父類的成員變數。2.多型情況下,子父類存在同名的非靜態成員函式時,預設是訪問子類的成員函式。3.多型情...

NSURLSession的初步理解

注意 當建立的session做為強引用時,需要自己手動釋放 void dealloc get請求的建立 方法一 1.建立nsurlsession nsurlsession session nsurlsession sharedsession 2.根據會話物件來建立task 第乙個引數 請求物件 第二...

SwiftyJson 的初步理解

最初的認識 swiftyjson 的本質就是乙個 public struct json結構體 struct json 的構成 public struct json public static varnull json object in json 這個是核心的屬性 所有的操作就是 在這給個地方開始的...