先画个图,了解下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,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 });
}
// 其它 *** 作
}
完成这些,其它 *** 作就简单了....
另外,数据库文件放在这个目录
总结以上是内存溢出为你收集整理的Android使用SQLite数据库的简单实例全部内容,希望文章能够帮你解决Android使用SQLite数据库的简单实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)