Android:SQLite数据库

SQLite数据库
一、SQLite简介
     SQLite是一款轻量级的关系型数据库,它的运行速度非常快,占用资源非常少。非常适合在移动设备上使用。
二、创建数据库

        Android中专门提供了一个SQLiteOpenHelper帮助类,首先SQLiteOpenHelper是一个抽象类,如果要使用这个类,必须创建一个类来继承它,SQLiteOpenHelper中有两个抽象方法,一个是onCreat(),一个是onUpdate(),我们必须在自己的帮助类中重写这两个方法,然后再这两个方法中实现和升级数据库的逻辑。
        SQLiteOpenHelper中还有两个非常重要的实例方法,getReadableDatabase()和getWriteableDatabase(),这两个方法都可以创建或者打开一个数据库(如果这个数据库已经存在,那么直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象,不同的是,当数据库不可写入的时候(如磁盘空间已满),getReadableDatabase()返回的对象将以只读的方式去打开数据库,而getWriteableDatabase()方法将出现异常。
SQLiteOpenHelper中有两个构造方法可供重写,一般使用参数少的那个构造方法即可,这个方法接收四个参数:
dbHelper = new MyDatabaseHelper(context, name, factory, version);
| 第一个参数:Context,上下文
| 第二个参数:name ,数据库的名字
| 第三个参数:允许我们在查询数据的时候返回一个自定义的Cursor,一般都是null
| 第四个参数:表示当前数据库的版本号,用于对数据库的升级操作

构建出SQLiteOpenHelper的实例之后,在调用他的getReadableDatabase()和getWriteableDatabase()方法就能够创建数据库了,数据库文件会存放在、data/data<package name>/databases/目录下,此时,重写onCreat()方法也会执行,所以通常会在这里去处理一些建表的逻辑。

SQL的数据类型很简单:integer表示整型,real表示浮点型,text表示文本型,blob表示二进制型,autoincrement关键字表示自增长。
新建MyDatabaseHelper类:
public class MyDatabaseHelper extends SQLiteOpenHelper {

	
	public static final String CREATE_BOOK = "create table book("
			+"id integer primary key autoincrement, "
			+"author text, "
			+"price real,"
			+"page integer, "
			+"name text)";
	private Context mContext;
	
	public MyDatabaseHelper(Context context, String name,
			CursorFactory factory, int version) {
		super(context, name, factory, version);
		
		mContext = context;
		
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL(CREATE_BOOK);
		Toast.makeText(mContext, "Create succeeded", 1).show();

	}

	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
		
	}

}
然后再MainActivity中得到MyDatabaseHelper的实例,调用getWritableDatabase()方法创建数据库就行了。execSQL()方法是建表语句。
补充:常用的数据库命令:
| 打开数据库:sqlite3+数据库名称
| 查看数据库中的表:table
| 查看建表语句: . schema
三、升级数据库
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值