1.数据库存于内置存储
data—data—包名—datebase
2.数据库表可以放到SQlite上查看
android考虑到很多的程序员可能对于sql语句不是很熟悉,所以就设计了一套面向对象的sql.使开发变的简单
oop 面相对象的sql
//对数据库进行操作 (crud)
public void add(View v){
SQLiteDatabase db = helper.getWritableDatabase();//获取一个可写的数据库
if(db.isOpen()){//判断数据库是否打开
//insert into person
ContentValues values = new ContentValues();//对于HashMap的一个封装
values.put("name", "陈洁仪");
db.insert("person", null, values);//最后系统会自己去拼接sql
}
db.close();//关闭数据库
}
public void update(View v){
SQLiteDatabase db = helper.getWritableDatabase();//获取一个可写的数据库
if(db.isOpen()){//判断数据库是否打开
ContentValues values = new ContentValues();
values.put("name", "韩红");
String whereClause = "_id = ?";
String[] whereArgs = new String[]{"3"};
db.update("person", values, whereClause, whereArgs);
}
db.close();
}
public void query(View v){
SQLiteDatabase db = helper.getReadableDatabase();
if(db.isOpen()){
//游标(结果集)
/**
* table 表, columns 查询列, selection 查询条件, selectionArgs 查询参数,
* groupBy 分组, having 分组条件, orderBy 排序
*/
Cursor cursor = db.query("person", new String[]{"*"}, null, null, null, null, null);
while(cursor.moveToNext()){
int _id = cursor.getInt(0);
String name = cursor.getString(cursor.getColumnIndex("name"));
Log.i(TAG, "_id:"+_id+",name:"+name);
}
cursor.close();//关闭游标
}
db.close();
}
public void delete(View v){
SQLiteDatabase db = helper.getWritableDatabase();//获取一个可写的数据库
if(db.isOpen()){//判断数据库是否打开
String whereClause = "_id = ?";
String[] whereArgs = new String[]{"3"};
db.delete("person", whereClause, whereArgs);
}
db.close();
}