Android使用SQlite数据库

Android使用SQlite数据库
了解下Android下数据库操作的简单流程:




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


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


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




下面例子是:


1.Helper


[java] view plain copy
package cn.learn.db.util;  
  
import android.content.Context;  
import android.database.sqlite.SQLiteDatabase;  
import android.database.sqlite.SQLiteOpenHelper;  
import android.database.sqlite.SQLiteDatabase.CursorFactory;  
  
public class DBHelper extends SQLiteOpenHelper {  
      
    private final static String DB_NAME ="test.db";//数据库名  
    private final static int VERSION = 1;//版本号  
      
    //自带的构造方法  
    public DBHelper(Context context, String name, CursorFactory factory,  
            int version) {  
        super(context, name, factory, version);  
    }  
      
    //为了每次构造时不用传入dbName和版本号,自己得新定义一个构造方法  
    public DBHelper(Context cxt){  
        this(cxt, DB_NAME, null, VERSION);//调用上面的构造方法  
    }  
      
    //版本变更时  
    public DBHelper(Context cxt,int version) {  
        this(cxt,DB_NAME,null,version);  
    }  
      
    //当数据库创建的时候调用  
    public void onCreate(SQLiteDatabase db) {  
        String sql = "create table student(" +  
                     "id integer primary key autoincrement," +  
                     "name varchar(20)," +  
                     "age int)";  
          
        db.execSQL(sql);  
    }  
      
    //版本更新时调用  
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
        String sql  = "update student ....";//自己的Update操作  
        db.execSQL(sql);  
    }  
      
}  




2.写DAO层
[java] view plain copy
package cn.learn.db.dao;  
  
import android.content.Context;  
import android.database.sqlite.SQLiteDatabase;  
import cn.learn.db.dao.domain.Student;  
import cn.learn.db.util.DBHelper;  
  
public class StudentDao {  
  
    DBHelper helper = null;  
  
    public StudentDao(Context cxt) {  
        helper = new DBHelper(cxt);  
    }  
  
    /** 
     * 当Activity中调用此构造方法,传入一个版本号时,系统会在下一次调用数据库时调用Helper中的onUpgrade()方法进行更新 
     * @param cxt 
     * @param version 
     */  
    public StudentDao(Context cxt, int version) {  
        helper = new DBHelper(cxt, version);  
    }  
  
    // 插入操作  
    public void insertData(Student stu) {  
        String sql = "insert into student (name,age)values(?,?)";  
        SQLiteDatabase db = helper.getWritableDatabase();  
        db.execSQL(sql, new Object[] { stu.name, stu.age });  
    }  
  
    // 其它操作  
  
}  




你可能感兴趣的:(Android使用SQlite数据库)