Android之SQLite 学习一
提到数据库,大家首先想到的一定是要安装,话说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的子类当中,必须有以下该构造函数
- publicDatabaseHelper(Contextcontext,Stringname,CursorFactoryfactory,
- intversion){
- //必须通过super调用父类当中的构造函数
- super(context,name,factory,version);
- }
2:Android SQLite数据库打开已经存在的数据库
Context.openDatabase(Stringfile,CursorFactoryfactory);
如果我们要实现打开不存在的数据库就创建它,代码如下:Java代码
- //创建一个名为:DataBase的数据库,后缀为.db
- SQLiteDatabaseDataBase=this.openOrCreateDatabase("DateBase.db", MODE_PRIVATE, null);
- //也可以这样写
- try
- {
- //打开已经存在的数据库
- db=this.openDatabase("DateBase.db",null);
- }
- catch(FileNotFoundExceptione)
- {
- try
- {
- //建立新的数据库
- }
- catch(FileNotFoundExceptione)
- {
- db=null;
- }
- }
- //创建一个名为:DataBase的数据库,后缀为.db
- SQLiteDatabaseDataBase=this.openOrCreateDatabase
("DateBase.db",- MODE_PRIVATE,
- null);
- //也可以这样写
- try
- {
- //打开已经存在的数据库
- db=this.openDatabase("DateBase.db",null);
- }
- catch(FileNotFoundExceptione)
- {
- try
- {
- //建立新的数据库
- }
- catch(FileNotFoundExceptione)
- {
- db=null;
- }
- }
3:Android SQLite数据库关闭数据库
- Java代码
- //千万不要忘记关闭数据库哦
- DataBase.close();
- //千万不要忘记关闭数据库哦
- DataBase.close();
4:Android SQLite数据库删除指定数据库
Java代码
- this.deleteDatabase("Database.db")
5:Android SQLite数据库执行SQL命令使用:
- SQLiteDatabase.execSQL(Stringsql);
更多相关文章
- C语言函数的递归(上)
- Android中的布局和控件
- Android模拟器无法上网的解决方法
- android中的显示跳转和隐式跳转
- Android(安卓)学习路线总结
- 网络请求框架AsyncHttpclient的简单使用
- Android(安卓)MediaPlayer类详解
- 【Android】Kill Service
- 关于Android如何禁止屏幕旋转刷新界面