Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> android---數據保存之SQLite(實現登錄用戶信息保存)

android---數據保存之SQLite(實現登錄用戶信息保存)

編輯:Android開發實例

由於不大善於總結和撰寫,所以很多概念都以網絡上參考學習為主,我會將這些知識融於到一個具體的練習中加以理解、鞏固和分享。

今天要學習的SQLite個人感覺和以前使用的sql server,比較基礎的東西都大同小異,基本的創建數據庫表、對數據的增刪改查的語句都差不多,如果懂得sql server的人學習SQLite應該還是容易上手的。唯一感覺不習慣的是,初次了解SQLite,在網上看別人的示例時,總感覺得很混亂,其實原因在於同樣實現一個數據的增刪改查,是有幾種不同方法的。例如插入數據:有使用SQLiteDataBase對象執行sql語句方法db.execSQL(sql);或者db.insert(table, nullColumnHack, values);也有content provide和content Resolver搭配使用的(數據庫提供對外訪問 和 提供從外數據訪問)。

如果一個應用程序中的數據庫無需提供對外訪問,實現一個繼承自SQLiteOpenHelper的數據庫幫助類,以支持數據庫的創建和版本的更新,這些SQLiteDataBase所不能實現的.但是SQLiteDataBase卻具備一些非常重要的對數據庫進行操作的方法,數據表的創建刪除、數據的增刪改查都是通過它實現的。

執行增刪改操作方法 :db.execSQL(sql); 或者db.insert()、db.delete()、db.update(),並且包括數據表的創建和刪除等等也可以通過execSQL實現

 

代碼
    //創建表
public boolean createTable(){
SQLiteDatabase db=dbHelper.getWritableDatabase();
String sql="CREATE TABLE IF NOT EXISTS "+TABLE_NAME+"(ID INTEGER PRIMARY KEY,Name VARCHAR,Age INTEGER)";
try{
db.execSQL(sql);
return true;
}catch(SQLException ex){
Log.d(tag, "create table failure");
return false;
}
}

//添加數據
public boolean addData(){
String name=etname.getText().toString();
String age=etage.getText().toString();
SQLiteDatabase db=dbHelper.getWritableDatabase();
String sql="insert into "+TABLE_NAME+"(name,age) values ('"+name+"','"+age+"')";
try{
db.execSQL(sql);

return true;
}catch(SQLException ex){
Log.d(tag, "add data failure");
return false;
}
}

//修改
public boolean updateData(){
SQLiteDatabase db=dbHelper.getWritableDatabase();
String sql="update "+TABLE_NAME+" set age='2' where name like 'cb'";
Object[] bindArgs={"cb"};
try{
db.execSQL(sql, bindArgs);
return true;
}catch(SQLException ex){
Log.d(tag, "update data failure");
return false;
}

}

 

 

執行數據查詢方法:db.rawQuery(sql, selectionArgs); 或者db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);

 

代碼
    //查詢
public void selectData(){
SQLiteDatabase db=dbHelper.getReadableDatabase();
String[] columns={"name"};
Cursor cursor=db.query(TABLE_NAME, columns, null, null, null, null, null);
String names="";
while(cursor.moveToNext()){
int c=cursor.getColumnIndexOrThrow("Name");
String name=cursor.getString(c);
// < = >
// String name=cursor.getString(0);//只查詢了一列
if(names==""){
names=name;
}else{
names=names+"\n"+name;
}
}
tvname.setText(names);
//另外一種查詢方法
// String sql="select name from "+TABLE_NAME;
// Curosr cursor=db.rawQuery(sql, null);
}

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved