美文网首页
SQLiteOpenHelper

SQLiteOpenHelper

作者: aliusa | 来源:发表于2018-01-15 17:05 被阅读0次

    A helper class to manage database creation and version management.

    数据库的创建和版本管理的助手。

    SQLiteOpenHelper 是一个抽象类,abstract class.

    拥有成员变量,mName(数据库名称),mNewVersion(数据库版本),mDatabase(数据库)等.

    构造函数需要传递,context,数据库名称,数据库版本等信息.

    SQLiteOpenHelper(Context context, String name, CursorFactory factory,int version)

    实现了以下函数:

    getDatabaseName

    getWritableDatabase

    getReadableDatabase

    onDowngrade

    close

    subclass需要实现以下函数

    public abstract void onCreate(SQLiteDatabase db);

    public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion);

    面试题1

    使用SQLiteOpenHelper的getReadableDatabase()获得的数据库能不能,做写的操作

    面试题2

    写一个子类继承SQLiteOpenHelper,并实现以下功能

    1).创建一个版本为1的“diaryOpenHelper.db”的数据库,

    2).同时创建一个 “diary” 表(包含一个_id主键并自增长,topic字符型100长度, content字符型1000长度)

    3).在数据库版本变化时请删除diary表,并重新创建出diary表

    publicclass DBHelper extends SQLiteOpenHelper{

    public final static String DATABASENAME ="diaryOpenHelper.db";

    public final static int DATABASEVERSION =1;//创建数据库

    public DBHelper(Context context,Stringname,CursorFactory factory,int version)

    {

    super(context, name, factory,version);

    }//创建表等机构性文件

    public void onCreate(SQLiteDatabase db)

    {

    String sql ="create table diary"+"("+"_id integer primary key autoincrement,"+"topic varchar(100),"+"content varchar(1000)"+")";

    db.execSQL(sql);

    }//若数据库版本有更新,则调用此方法

    public void onUpgrade(SQLiteDatabasedb,int oldVersion,int newVersion)

    {

    String sql = "drop table if exists diary";

    db.execSQL(sql);

    this.onCreate(db);

    }

    }

    相关文章

      网友评论

          本文标题:SQLiteOpenHelper

          本文链接:https://www.haomeiwen.com/subject/veddoxtx.html