Android使用SQlite数据库

来源:互联网 发布:java socket运行 编辑:程序博客网 时间:2024/09/21 09:01

先画个图,了解下Android下数据库操作的简单流程:


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

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

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


下面例子是:

1.Helper

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层

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 });}// 其它操作}

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

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




原创粉丝点击