提到数据库,大家首先想到的一定是要安装,话说Android操作系统中内置了SQLite数据库!我们在应用程序开发中都需要对数据库进行相关操作。在这里总结有关Android SQLite数据库的应用技巧,方便将来的应用。
SQLite是轻量级的、嵌入式的、关系型数据库,目前已经在iPhone、Android等手机系统中使用,SQLite可移植性好,很容易使用,很小,高效而且可靠。SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。
在android中当需要操作SQLite数据库的时候需要得到一个SQLiteOpenHelper对象,而SQLiteOpenHelper是一个抽象类,用户需要继承这个类,并实现该类中的一些方法。
1、继承SQLiteOpenHelper之后就拥有了以下两个方法:
◆getReadableDatabase() 创建或者打开一个查询数据库
◆getWritableDatabase()创建或者打开一个可写数据库
◆他们都会返回SQLiteDatabase对象,用户通过得到的SQLiteDatabase对象进行后续操作
2、同时用户还可以覆盖以下回调函数,再对数据库进行操作的时候回调以下方法:
◆onCreate(SQLiteDatabase):在数据库第一次创建的时候会调用这个方法,一般我们在这个方法里边创建数据库表。
◆onUpgrade(SQLiteDatabase,int,int):当数据库需要修改的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据库表,并建立新的数据库表,当然是否还需要做其他的操作,完全取决于应用程序的需求。
◆onOpen(SQLiteDatabase):这是当打开数据库时的回调函数,一般也不会用到。
需要注意
1、在SQLiteOepnHelper的子类当中,必须有以下该构造函数
2:Android SQLite数据库打开已经存在的数据库
Context.openDatabase(String file,CursorFactory factory);
如果我们要实现打开不存在的数据库就创建它,代码如下:Java代码
- //创建一个名为:DataBase的数据库,后缀为.db
- SQLiteDatabase DataBase=this.openOrCreateDatabase("DateBase.db", MODE_PRIVATE, null);
- //也可以这样写
- try
- {
- //打开已经存在的数据库
- db = this.openDatabase("DateBase.db", null);
- }
- catch (FileNotFoundException e)
- {
- try
- {
- //建立新的数据库
- }
- catch (FileNotFoundException e)
- {
- db = null;
- }
- }
- //创建一个名为:DataBase的数据库,后缀为.db
- SQLiteDatabase DataBase=this.openOrCreateDatabase
("DateBase.db",- MODE_PRIVATE,
- null);
- //也可以这样写
- try
- {
- //打开已经存在的数据库
- db = this.openDatabase("DateBase.db", null);
- }
- catch (FileNotFoundException e)
- {
- try
- {
- //建立新的数据库
- }
- catch (FileNotFoundException e)
- {
- db = null;
- }
- }
3:Android SQLite数据库关闭数据库
- Java代码
- //千万不要忘记关闭数据库哦
- DataBase.close();
- //千万不要忘记关闭数据库哦
- DataBase.close();
4:Android SQLite数据库删除指定数据库
Java代码
- this.deleteDatabase("Database.db")
5:Android SQLite数据库执行SQL命令使用:
- SQLiteDatabase.execSQL(String sql);