sqlITE是一个轻量级 嵌入式的关系式的数据库,他遵守ACID的关联式数据库管理系统,主要是针对嵌入式设备设计的数据库 占用的空间非常少。
其实有四个类(接口)贯穿始终
sqlite.sqliteDatabase完成数据的CRUD操作已经事务处理。
sqlITEOpenHelper 定义数据库的创建及更新操作类
Curse 保存所有的查询结果
ContentValue 对传递的数值进行封装
在Android系统之中,一个android.database.sqlite.sqliteDatabase类的实例都代表了一个sqlite数据库的操作,通过sqliteDatabase类可以执行sql语句,以完成对数据表的增加、修改、删除、查询等操作,在此类之中定义了基本的数据库执行sql语句的操作方法以及一些操作的模式常量。
sqliteDatabase类本身只是一个数据库的操作类,但是如果要想进行数据库的操作,还需要一个android.database.sqlite.sqliteOpenHelper类帮助下才可以取得进行,但是,sqliteOpenHelper类是一个抽象类,所以要使用的时候需要定义其子类,并且在子类中要覆写相应的抽象方法。
在sqliteOpenHelper类中定义了三个回调方法,这三个方法的作用如下:
onCreate():在第一次使用数据库的时候会调用此方法生成相应的数据库表,但是此方法并不是说是在实例化sqliteOpenHelper类的对象时调用,而是通过对象调用了getReadableDatabase()或getWritableDatabase()方法时才会调用;
onUpgrade():当数据库需要进行升级的时候,会调用此方法,一般可以在此方法之中将数据表删除,并且在删除表之后往往会调用onCreate()方法以重新创建新的数据表;
open():当数据库打开的时候会调用此方法,但是一般情况下用户不需要覆写此方法。
来一个小DEMO玩玩
sqliteOpenHelper类
package com.example.sqlitesave; import android.content.Context; import android.database.sqlite.sqliteDatabase; import android.database.sqlite.sqliteOpenHelper; public class DbOpenHelp extends sqliteOpenHelper { private static final String DATABASENAME = "jdk.db" ; // 数据库名称 private static final int DATABASEVERSION = 1 ; // 数据库名称 private static final String TABLENAME = "mytab" ; // 数据表名称 public DbOpenHelp(Context context) { super(context,DATABASENAME,null,DATABASEVERSION);// 调用父类构造 } @Override public void onCreate(sqliteDatabase db) {// 创建数据表 String sql = "CREATE TABLE " + TABLENAME + " (" + "id INTEGER PRIMARY KEY," + "name VARCHAR(50) NOT NULL," + "birthday DATE NOT NULL)";// sql语句 db.execsql(sql) ; // 执行sql语句 } @Override public void onUpgrade(sqliteDatabase db,int oldVersion,int newVersion) { String sql = "DROP TABLE IF EXISTS " + TABLENAME ; // sql语句 db.execsql(sql); // 执行sql语句 this.onCreate(db); // 创建表 } }
主要Database类
package com.example.sqlitesave; import android.app.Activity; import android.os.Bundle; public class sqliteDemo extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DbOpenHelp help=new DbOpenHelp(this); help.getWritableDatabase(); } }验证的时候到了 只要到 data/data 然后找到你的APP文件里找找 databases 里面有不有jdk.db 原文链接:https://www.f2er.com/sqlite/200145.html