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

SQLite基本知识

SQLite介绍

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

SQLite是嵌入式的

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

使用SQLite进行CRUD

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


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

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


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

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


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

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


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

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


java代码:
  1. DBHelper dh = new DBHelper(Hello.this,"testDB",null,1);  
  2. SQLiteDatabase db = dh.getWritableDatabase();  
  3.    
  4. Cursor c = db.query("tbl_user"new String[]{"uuid","name"},  
  5. "",null"""""","");  
  6. while(c.moveToNext()){  
  7. String uuid = c.getString(c.getColumnIndex("uuid"));  
  8. String name = c.getString(c.getColumnIndex("name"));  
  9.    
  10. System.out.println("uuid="+uuid+" , name="+name);  
  11. }  
视频配套PPT,视频地址【  Android4开发入门经典独家视频课程
原创内容 转自请注明【  http://sishuok.com/forum/blogPost/list/0/2748.html#7730

你可能感兴趣的:(android)