Android4开发入门经典 之 第八部分:SQLite

SQLite基本知识

SQLite介绍

SQLite是一个开源的、嵌入式关系型数据库。目前非常流行,firefox和iphone中也是使用的它,PHP5.0里面也包含了SQLite。

SQLite是嵌入式的

SQLite引擎不是在独立进程中运行,而是嵌入到程序中成为程序的一个部分。所以主要的通信协议是在编程语言内使用API调用,整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。

使用SQLite进行CRUD

Android提供了一个SQLiteOpenHelper,通过它可以容易的创建数据库,如下:

java代码:
public class DBHelper extends SQLiteOpenHelper {  
public DBHelper(Context context,String name,SQLiteDatabase.CursorFactory factory,int version){  
// content是上下文环境,通常是一个Activity  
// name是数据库的名字,其实一个应用可以固定在这里写一个名字  
// factory是游标工厂,通常是null,使用系统提供的就可以了  
// version数据库版本,一般一个应用的版本号是一样的,也可以在这里固定写上  
super(context, name, factory, version);  
}  
public void onCreate(SQLiteDatabase db) {  
// 创建数据库过后的回调方法,通常用来创建表和插入初始数据  
String sql = "create table tbl_user (uuid varchar(20),name varchar(20))";  
db.execSQL(sql);  
}  
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
// 更新数据库版本的操作  
}  
public void onOpen(SQLiteDatabase db) {  
super.onOpen(db);  
// 每次成功打开数据库后首先被执行的方法  
}  
}  

实现新增功能,示例如下:

java代码:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
SQLiteDatabase db = dh.getWritableDatabase();  
   
ContentValues cv = new ContentValues();  
cv.put("uuid", "u1");  
cv.put("name", "u1name");  
db.insert("tbl_user",null, cv);  

实现修改功能,示例如下:

java代码:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
SQLiteDatabase db = dh.getWritableDatabase();  
   
ContentValues cv = new ContentValues();  
cv.put("name", "uuuuuu");  
   
db.update("tbl_user", cv, "uuid=?", new String[]{"u1"});  

实现删除功能,示例如下:

java代码:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
SQLiteDatabase db = dh.getWritableDatabase();  
db.delete("tbl_user", "uuid=?", new String[]{"u1"});  

实现查询功能,示例如下:

java代码:
DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
SQLiteDatabase db = dh.getWritableDatabase();  
   
Cursor c = db.query("tbl_user", new String[]{"uuid","name"},  
"",null, "", "", "","");  
while(c.moveToNext()){  
String uuid = c.getString(c.getColumnIndex("uuid"));  
String name = c.getString(c.getColumnIndex("name"));  
   
System.out.println("uuid="+uuid+" , name="+name);  
}  
视频配套PPT,视频地址【 Android4开发入门经典独家视频课程

相关推荐