SQLite数据库
- 特点:可以向任何字段中存放任何类型的数据【主键只能保存整数】(如在String字段中存放浮点类型等)
- 使用SQLite不需要打开数据库链接(已由类内部实现),未长时间使用可在操作完数据库关闭(db.close())
//分布SQL语句同mySQL
//select * from 表名 limit 5 offset 3,跳过前面3条,选择表中5条数据
//insert into 表名(列名) values(?,?),问题为占位符
//创建SQLite处理类(通过继承抽象类SQLiteOpenHelper类)
public class DBHelper extends SQLiteOpenHelper{
public DBHelper(...){
//基本每个与android有关的类都需要传递上下文对象
super(Context,String,CusorFactory,int);//上下文对象,数据库名,游标工厂(null表示使用系统默认游戏工厂),数据库版本号(不可为0)
}
//重写SQLiteOpenHelper类中的方法即可对数据库进行操作
//onCreate(),创建数据库
//onUpgrade,升级数据库等操作(当数据库版本改变时)
}
//SQLiteDatabase部分API
- void excuteSQL(String),使用数据库对象执行指定SQL语句
- SQLiteDasebase getWritableDasebase(),获取可写的数据库对象(一般根据上下文对象)
- SQLiteDasebase getReadableDasebase(),获取可读的数据库对象,本质是先返回getWritableDasebase(),失败再以读模式打开数据库
- Cursor rawQuery(String,String[]),根据指定SQL及字符串参数数组返回查询结果(Cursor为数据库结果类)
//Cursor游标实例方法
- int getCount(),返回查询数据有多少行记录
- int getColumnIndex(String),根据列名返回列序号
- String getString(int),根据列序号返回列数据内容(其它数据类型可用int getInt(int))
- boolean moveToNext(),游标移动到下一行记录
- boolean moveToFirst(),游标移动到第一行记录