Android使用SQlite数据库

Android下数据库操作的简单流程:


1.首先,写一个自己的数据库操作帮助类,这个类继承自Android自带的SQLiteOpenHelper.

2.在自己的DAO层借助自己的Helper写数据库操作的一些方法

3.Activity调用DAO层的数据库操作方法进行操作


下面例子是:

1.Helper

[java] view plaincopy
  1. package cn.learn.db.util;  
  2.   
  3. import android.content.Context;  
  4. import android.database.sqlite.SQLiteDatabase;  
  5. import android.database.sqlite.SQLiteOpenHelper;  
  6. import android.database.sqlite.SQLiteDatabase.CursorFactory;  
  7.   
  8. public class DBHelper extends SQLiteOpenHelper {  
  9.       
  10.     private final static String DB_NAME ="test.db";//数据库名  
  11.     private final static int VERSION = 1;//版本号  
  12.       
  13.     //自带的构造方法  
  14.     public DBHelper(Context context, String name, CursorFactory factory,  
  15.             int version) {  
  16.         super(context, name, factory, version);  
  17.     }  
  18.       
  19.     //为了每次构造时不用传入dbName和版本号,自己得新定义一个构造方法  
  20.     public DBHelper(Context cxt){  
  21.         this(cxt, DB_NAME, null, VERSION);//调用上面的构造方法  
  22.     }  
  23.       
  24.     //版本变更时  
  25.     public DBHelper(Context cxt,int version) {  
  26.         this(cxt,DB_NAME,null,version);  
  27.     }  
  28.       
  29.     //当数据库创建的时候调用  
  30.     public void onCreate(SQLiteDatabase db) {  
  31.         String sql = "create table student(" +  
  32.                      "id integer primary key autoincrement," +  
  33.                      "name varchar(20)," +  
  34.                      "age int)";  
  35.           
  36.         db.execSQL(sql);  
  37.     }  
  38.       
  39.     //版本更新时调用  
  40.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  41.         String sql  = "update student ....";//自己的Update操作  
  42.         db.execSQL(sql);  
  43.     }  
  44.       
  45. }  

2.写DAO层

[java] view plaincopy
  1. package cn.learn.db.dao;  
  2.   
  3. import android.content.Context;  
  4. import android.database.sqlite.SQLiteDatabase;  
  5. import cn.learn.db.dao.domain.Student;  
  6. import cn.learn.db.util.DBHelper;  
  7.   
  8. public class StudentDao {  
  9.   
  10.     DBHelper helper = null;  
  11.   
  12.     public StudentDao(Context cxt) {  
  13.         helper = new DBHelper(cxt);  
  14.     }  
  15.   
  16.     /** 
  17.      * 当Activity中调用此构造方法,传入一个版本号时,系统会在下一次调用数据库时调用Helper中的onUpgrade()方法进行更新 
  18.      * @param cxt 
  19.      * @param version 
  20.      */  
  21.     public StudentDao(Context cxt, int version) {  
  22.         helper = new DBHelper(cxt, version);  
  23.     }  
  24.   
  25.     // 插入操作  
  26.     public void insertData(Student stu) {  
  27.         String sql = "insert into student (name,age)values(?,?)";  
  28.         SQLiteDatabase db = helper.getWritableDatabase();  
  29.         db.execSQL(sql, new Object[] { stu.name, stu.age });  
  30.     }  
  31.   
  32.     // 其它操作  
  33.   
  34. }  

完成这些,其它操作就简单了....

另外,数据库文件放在这个目录



posted @ 2013-07-30 10:45  一直向北  阅读(303)  评论(0编辑  收藏  举报