您的位置:首页 > 移动开发 > Android开发

Android 使用SQLite进行数据的增删查改

2015-07-28 13:59 579 查看
1 : 说明

SQL他是一个嵌入式的、轻量级的、系统完整的数据库。在Android设备上适合存储本地数据。本人干开始学习android开发,最近看到数据库的问题,简单分享和总结一下最近的学习情况。

2 : 继承SQLiteOpenHelper来新建一个数据库类ItemDB

3:再新建一个类,在该类中ItemHelper中使用ItemDB来实现增删改查的方法

4:代码

4.1 : 继承SQLiteOpenHelper来新建一个数据库类ItemDB

public class ItemDB extends SQLiteOpenHelper{

//构造方法,创建数据库
public ItemDB(Context context) {
//DetectionItem.db为新建的数据的名称,1是版本号,不能设置为零
super(context, "DetectionItem.db", null, 1);
}

/**
* 创建一个含有检测项目的数据表,关键是里面的SQL语句,
* 这里创建一张表:  DetectionItemtable
*/
@Override
public void onCreate(SQLiteDatabase db) {

db.execSQL("create table DetectionItemtable("
+ "_id integer primary key autoincrement,"
+ "ItemName text,"
+ "cutoff text"
+ ")");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//这里进行数据库版本更新操作
}

}


4.2:在另外一个类中实现增删改查的方法

public class ItemHelper {

private Context context ;
private ItemDB itemDB ;

public ItemHelper(Context context) {

this.context = context;
itemDB = new ItemDB(context);
}

/**
* 查询信息,通过项目名字查询cutoff值,用于结果的判断
*  "ItemName text,"
*  "cutoff text"
*  返回项目的cutoff值
*/
public double find(String item){
//获取数据库的读写权
SQLiteDatabase db = itemDB.getWritableDatabase() ;
//游标实现数据的查询,游标获取数据 类似于Map通过键值对获取所存储的数据
Cursor cursor = db.rawQuery("select * from DetectionItemtable where ItemName=?",
new String[]{item});
//判断表格是否查询到最后一行
boolean result = cursor.moveToNext();

double cutoff = 0 ;
if(result){
cutoff = Double.parseDouble(cursor.getString(cursor.getColumnIndex("cutoff"))) ;

}
//关闭游标和数据库,释放资源
cursor.close();
db.close() ;

return cutoff ;

}

/**
* 添加信息
* @param ItemName
* @param cutoff
*/
public void insert(String ItemName,String cutoff){

SQLiteDatabase db = itemDB.getWritableDatabase();

db.execSQL(
"insert into DetectionItemtable(ItemName,cutoff) values(?,?)",
new String[]{ItemName,cutoff});

db.close();

}

/**
* 修改信息
* @param item
* @param cutoff
*/
public void updata(String item,double cutoff){

SQLiteDatabase db = itemDB.getWritableDatabase();
db.execSQL("update DetectionItemtable set cutoff=? where ItemName=?",
new Object[] { String.valueOf(cutoff), item });
db.close();

}

/**
* 删除信息
* @param item
*/
public void delete(String item){
SQLiteDatabase db = itemDB.getWritableDatabase();
db.execSQL("delete from DetectionItemtable where ItemName=?", new Object[] { item });
}

}


我暂时只掌握到这里,我会继续加油的,这也是第一次写博文,希望能有更多的进步。

5 :参考

【Anroid进阶】SQLite数据库使用完全详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: