SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。
轻量
兼容
多端
无需配置
无外部依赖
拥有简单易懂的API
安全
Android 提供的 SQLiteOpenHelper.java 是一个抽象类。那么在Eclipse中创建Class类时,选择此抽象类模板即可,而在Android Studio中,必须自己写一个类来继承它,根据平时类名称简洁易懂的习惯上,我们创建的都是MyDataBaseHelper.java或DataBaseHelper.java简写DBHelper.java。
new
,选择新建Class
输入类名称
public class DBHelper extends SQLiteOpenHelper{
}
//带有全部参数的构造函数,此构造函数是必须需要的。Eclipse和Android Studio均有自动填充功能
public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
//创建数据库sql语句
String sql = "create table user(name varchar(20))";
//执行sql语句
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
new
,选择新建Class
SQLiteOpenHelper
Finish
即创建成功第一句代码中,创建Activity时会自动生成。在Activity中创建数据库,这里我们给数据库起名为“info.db”,数据库版本号为1,代码如下:
//依靠DatabaseHelper带全部参数的构造函数创建数据库
DBHelper dbHelper = new DBHelper(MainActivity.this, "info.db",null,1);
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.insert();
db.delete();
db.update();
Cursor cursor = db.rawQuery("select * from info.db", null);
if (cursor.getCount() != 0) {
}