欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android使用SQLite数据库的简单实例

程序员文章站 2023-11-18 12:03:10
先画个图,了解下android下数据库操作的简单流程: 1.首先,写一个自己的数据库操作帮助类,这个类继承自android自带的sqliteopenhelper....

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

Android使用SQLite数据库的简单实例

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 });
 }

 // 其它操作

}

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

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

Android使用SQLite数据库的简单实例