Day13持久化存储——SQLite数据库存储
SQLITE是一个轻量级 嵌入式的关系式的数据库,他遵守ACID的关联式数据库管理系统,主要是针对嵌入式设备设计的数据库 占用的空间非常少。 其实有四个类(接口)贯穿始终 Sqlite.SQLiteDatabase完成数据的CRUD操作已经事务处理。 SQLITEOpenHelper 定义数据库的创建及更新操作类 Curse 保存所有的查询结果 ContentValue 对传递的数值进行封装
数据库操作类:SQLiteDatabase 在Android系统之中,一个android.database.sqlite.SQLiteDatabase类的实例都代表了一个SQLite数据库的操作,通过SQLiteDatabase类可以执行SQL语句,以完成对数据表的增加、修改、删除、查询等操作,在此类之中定义了基本的数据库执行SQL语句的操作方法以及一些操作的模式常量。
数据库操作辅助类:SQLiteOpenHelper SQLiteDatabase类本身只是一个数据库的操作类,但是如果要想进行数据库的操作,还需要一个android.database.sqlite.SQLiteOpenHelper类帮助下才可以取得进行,但是,SQLiteOpenHelper类是一个抽象类,所以要使用的时候需要定义其子类,并且在子类中要覆写相应的抽象方法。
SQLiteOpenHelper类中定义的回调方法 在SQLiteOpenHelper类中定义了三个回调方法,这三个方法的作用如下:
来一个小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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |