1、SQLite介绍 : 关系型数据库
SQLite : 关系型数据库, 非常小的数据库;
官方网站:http://www.sqlite.org/
2、SQLiteOpenHelper使用方法
使用SQLiteOpenHelper操作数据库; 先写一个继承该类的实现类;
常用方法:
getReadableDatabase()
getWritableDatabase()
onCreate(SQLiteDatabase db)
onOpen(SQLiteDatabase db)
onUpgrade(SQLiteDatabase db)
实例:sqlite
DatabaseHelper作为一个访问SQLite的助理类,提供两个方面的功能:
1、getReadableDatabase(),getWritableDatabase()可以获得SQLiteDatabase对象, 通过该对象可以对数据库进行操作;
2、提供了onCreate(),onUpgrade()两个回调函数,允许我们在创建和升级数据库时,进行自己的操作;
必须有以下构造函数:
public DatabaseHelper(Context context, String name, CursorFactory factory, int version){
super(context, name, factory, version);
}
其它构造函数:
private static final int VERSION = 1;
public DatabaseHelper(Context context, String name){
this(context, name, VERSION);
}
public DatabaseHelper(Context context, String name, int version){
this(context, name, null, version);
}
public void onCreate(SQLiteDatabase db){ // 回调函数
db.execSQL("create table user(id int, name varchar(20))");
}
public void onUpdate(SQLiteDatabase db, int oldVersion, int newVersion){ // 回调函数
// ...
}
3、使用adb访问SQLite
命令行环境下, 注意:先要配置环境变量;
>adb // 查看adb的帮助信息
>adb install mypack.appname // 安装应用程序
>adb uninstall mypack.appname // 卸载应用程序
>adb shell // 进入调试环境
>ls //查看目录
>cd dirName //进入目录,dirName是目录名称
>rm -r dirName //循环删除目录及其下的全部文件,dirName是目录名称
>ls -l //查看目录下文件的属性(包括文件大小、文件名、创建时间等信息)
>adb shell
>sqlite3 test_db // 进入sqlite环境,test_db是数据库名称
sqlite> .schema // 查看数据库中有哪些表
sqlite> select * from table_name; // 查询表
4、增、删、改、查
createDatabase, updateDatabase, insert, update, query
1、CreateDatabaseListener
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_db");
SQLiteDatabase db = dbHelper.getReadableDatabase(); // 执行dbHelper时才会创建DatabaseHelper对象
2、UpdateDatabaseListener
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_db", 2);
SQLiteDatabase db = dbHelper.getReadableDatabase();
3、InsertListener
ContentValues values = new ContentValues();
values.put("id", 1);
values.put("name", zhangsan);
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.insert("user", null, values); // 参1是表名
4、UpdateListener
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_db");
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", zhangsanfeng);
db.update("user", values, "id=?", new String[]{"1"});
5、QueryListener
DatabaseHelper dbHelper = new DatabaseHelper(SQLiteActivity.this, "test_db");
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null);
while(cursor.moveToNext()){
String name = cursor.getString(cursor.getColumnIndex("name"));
}