这篇就不实战鸟。有些资源还是蛮好的。晒出来和大家分享个链接啥的,网络牛人前辈总是能给我们后辈创造福利,致敬!!!致青春!!!哈哈!关于SQL数据库从基础概念到需微深入的理解描述我从网络发现了一个好网站比课本讲的都好,遂与众人分享,PS:致谢这个网站,致敬!!
Android数据库基本操作前面Android SQLite数据库创建和使用实战(一)博文已经附上源码了,资源也有工程。不多解释,算是一个标准模板吧。接下来说说Android里面这几个类。
先来整 SQLiteOpenHelper类吧,如下图片来自官方截图:
接着看下 SQLiteDatabase吧,也是来自官方截图:
方法不截图了,用时自己去找。主要施工下面对比描述用:
通过图可以看出类的一些性质等。如下:
使用SQLiteOpenHelper对数据库进行版本管理
如果应用使用到了SQLite数据库,我们必须在用户初次使用软件时创建出应用使用到的数据库表结构及添加一些初始化记录,另外在软件升级的时候,也需要对数据表结构进行更新。如何实现在用户初次使用或升级软件时自动在用户的手机上创建出应用需要的数据库表呢?在Android系统,为我们提供了一个名为SQLiteOpenHelper的抽象类,必须继承它才能使用,它是通过对数据库版本进行管理来实现前面提出的需求。 为了实现对数据库版本进行管理,SQLiteOpenHelper类提供了两个重要的方法,分别是onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion),前者用于初次使用软件时生成数据库表,后者用于升级软件时更新数据库表结构。当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候,如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate()方法,onCreate()方法在初次生成数据库时才会被调用,在onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据。onUpgrade()方法在数据库的版本发生变化时会被调用,一般在软件升级时才需改变版本号,而数据库的版本是由程序员控制的,假设数据库现在的版本是1,由于业务的变更,修改了数据库表结构,这时候就需要升级软件,升级软件时希望更新用户手机里的数据库表结构,为了实现这一目的,可以把原来的数据库版本设置为2并且在 onUpgrade()方法里面实现表结构的更新。当软件的版本升级次数比较多,这时在onUpgrade()方法里面可以根据原版号和目标版本号进行判断,然后作出相应的表结构及数据更新。getWritableDatabase()和 getReadableDatabase()方法都可以获取一个用于操作数据库的SQLiteDatabase实例。但 getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用getWritableDatabase()打开数据库就会出错。getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。
使用SQLiteDatabase操作SQLite数据库
该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。对SQLiteDatabase的学习,我们应该重点掌握execSQL()和rawQuery()方法。execSQL()方法可以执行insert、delete、update和CREATE TABLE之类有更改行为的SQL语句; rawQuery()方法用于执行select语句。
PS:对于Cursor类没得解释,自己琢磨,提示下,和Map比较像,key-value形式。