Mars Android视频学习笔记——01_16_SQLite使用方法
2011-03-01 10:49
1066 查看
转载时请注明转自:http://blog.csdn.net/sam_zhang1984
交流可加新浪微博:Android开发人
要用
Android
方便快捷地访问数据库,可以使用
SQLiteOpenHelper
,它是一个助手类。可以利用它来创建或打开一个可读或可写的数据库,
利用其方法可以返回一个
SQLiteDataBase
对象,即返回一个数据库,这样我们就可以利用
SQLiteDataBase
的方法对数据库进行增、删、改、查等等的操作。
SQLiteOpenHelper
除返回一个数据库对象外,还提供了一些回调函数,如
onCreate
、
onOpen
、
onUpgrade
,可以创建数据库、打开数据库、升级数据库时调用。
自己定义一个
SQLiteOpenHelper
的子类,而且这个子类必要有一个四个参数的构造函数,实现实体可以直接调用父类,即
SQLiteOpenHelper
的构造函数。
onCreate
函数是在第一次创建数据库时调用,如果只是生成一个
SQLiteOpenHelper
对象是不会调用的,只有通过
SQLiteOpenHelper
方法得到数据库时,并且数据是第一次被创建的时间,才会被调用。
onUpdate
函数则是在数据库版本发生变化时才被调用,当数据库版本没有改变时,不会调用
onUpdate
函数,注意版本号需要是一个递增的数,如第一次操作是版本为
2
,则下一次版本不能小于
2
,如果大于
2
时,则会调用
onUpdate
函数。
这两个函数都是抽象函数,在子类中必须对其进行实现:
adb
工具使用
:
adb
一个调试工具,可以让我们以
Linux
命令来进入操作系统。在控制台输入
adb shell
即可以进行
Linux
命令行中,由于
Android
是以
Linux
为内核,所以输入的命令行都是
Linux
命令。
(
前提是已经把
adb
所在的
tool
路径配置到了环境变量里的
path
!
)
通过
ls
命令可以看到目录下的文件,我们要操作的数据库文件是放在根目录下的
data
目录里(
cd data
),在
data
目录下又有一个
data
目录,再进入(
cd data
),可以看到里面有很多目录,这些即在手机或虚拟机里运行的程序所有私有的数据,选中我们操作数据库的程序,里面即有我们的数据库。
当我们的数据库已经存在,并且我们想要通过命令行输入
SQL
语句,必须先输入:
sqlite3
数据库名,这时就可以进行
SQL
语句输入行,会提示
sqlite
,这时就开始输入想要执行的
SQL
语句了,如下面的查询例子:
通过
SQLiteOpenHelper
对象的
getReadableDatabase
或
getWritableDatabase
我们就可以得到一个数据库
SQLiteDataBase
的对象,如果要对数据库进行增、删、改、查等操作,就可以通过得到的这个
SQLiteDataBase
对象提供的方法进行操作。也可通过
SQLiteDataBase
的对象执行
SQL
语句,实现我们对数据库的各种操作。如插入函数
insert
、更新函数
update
、执行
SQL
语句函数
execSQL
等等,这些都可以通过帮助文档查询。
在插入数据,或更新数据时,用到
ContentValues
来存放插入数据库的数据,
ContentValues
其实就是一个键值对,其键是列名,值则是列的值,值的数据类型一定要跟表结构的数据类型一致。
总结:
如果需要使用
Sqlite
,则需要经过以下几个步骤:
1.
生成一个
SQLiteOpenHelper
的子类,并实现其四个参数的构造函数,在构造函数中调用父类构造函数;
2.
通过
SQLiteOpenHelper
对象的
getReadableDatabase
或
getWritableDatabase
可以得到一个数据库
SQLiteDataBase
对象;
3.
通过
SQLiteDataBase
对象的方法就可以进行各种数据库操作了。
交流可加新浪微博:Android开发人
要用
Android
方便快捷地访问数据库,可以使用
SQLiteOpenHelper
,它是一个助手类。可以利用它来创建或打开一个可读或可写的数据库,
利用其方法可以返回一个
SQLiteDataBase
对象,即返回一个数据库,这样我们就可以利用
SQLiteDataBase
的方法对数据库进行增、删、改、查等等的操作。
SQLiteOpenHelper
除返回一个数据库对象外,还提供了一些回调函数,如
onCreate
、
onOpen
、
onUpgrade
,可以创建数据库、打开数据库、升级数据库时调用。
自己定义一个
SQLiteOpenHelper
的子类,而且这个子类必要有一个四个参数的构造函数,实现实体可以直接调用父类,即
SQLiteOpenHelper
的构造函数。
public class samDataBaseHelper extends SQLiteOpenHelper { //必须有这个构造函数 public samDataBaseHelper(Context context, String name, CursorFactory factory, int version) { //必须调用父类构造函数 super(context, name, factory, version); // TODO Auto-generated constructor stub } }
onCreate
函数是在第一次创建数据库时调用,如果只是生成一个
SQLiteOpenHelper
对象是不会调用的,只有通过
SQLiteOpenHelper
方法得到数据库时,并且数据是第一次被创建的时间,才会被调用。
onUpdate
函数则是在数据库版本发生变化时才被调用,当数据库版本没有改变时,不会调用
onUpdate
函数,注意版本号需要是一个递增的数,如第一次操作是版本为
2
,则下一次版本不能小于
2
,如果大于
2
时,则会调用
onUpdate
函数。
这两个函数都是抽象函数,在子类中必须对其进行实现:
public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub System.out.println("Create a DataBase"); db.execSQL("create table user(id int,name varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub System.out.println("Update the DataBase"); }
adb
工具使用
:
adb
一个调试工具,可以让我们以
Linux
命令来进入操作系统。在控制台输入
adb shell
即可以进行
Linux
命令行中,由于
Android
是以
Linux
为内核,所以输入的命令行都是
Linux
命令。
(
前提是已经把
adb
所在的
tool
路径配置到了环境变量里的
path
!
)
通过
ls
命令可以看到目录下的文件,我们要操作的数据库文件是放在根目录下的
data
目录里(
cd data
),在
data
目录下又有一个
data
目录,再进入(
cd data
),可以看到里面有很多目录,这些即在手机或虚拟机里运行的程序所有私有的数据,选中我们操作数据库的程序,里面即有我们的数据库。
当我们的数据库已经存在,并且我们想要通过命令行输入
SQL
语句,必须先输入:
sqlite3
数据库名,这时就可以进行
SQL
语句输入行,会提示
sqlite
,这时就开始输入想要执行的
SQL
语句了,如下面的查询例子:
通过
SQLiteOpenHelper
对象的
getReadableDatabase
或
getWritableDatabase
我们就可以得到一个数据库
SQLiteDataBase
的对象,如果要对数据库进行增、删、改、查等操作,就可以通过得到的这个
SQLiteDataBase
对象提供的方法进行操作。也可通过
SQLiteDataBase
的对象执行
SQL
语句,实现我们对数据库的各种操作。如插入函数
insert
、更新函数
update
、执行
SQL
语句函数
execSQL
等等,这些都可以通过帮助文档查询。
ContentValues dbDataValues = new ContentValues(); dbDataValues.put("id", 2); dbDataValues.put("name", "zxs"); samDataBaseHelper my_DBHelper =new samDataBaseHelper(firstSQLiteActivity.this, "sam_firstDb", null, 2); SQLiteDatabase my_DB =my_DBHelper.getWritableDatabase(); my_DB.insert("user", null, dbDataValues);
在插入数据,或更新数据时,用到
ContentValues
来存放插入数据库的数据,
ContentValues
其实就是一个键值对,其键是列名,值则是列的值,值的数据类型一定要跟表结构的数据类型一致。
总结:
如果需要使用
Sqlite
,则需要经过以下几个步骤:
1.
生成一个
SQLiteOpenHelper
的子类,并实现其四个参数的构造函数,在构造函数中调用父类构造函数;
2.
通过
SQLiteOpenHelper
对象的
getReadableDatabase
或
getWritableDatabase
可以得到一个数据库
SQLiteDataBase
对象;
3.
通过
SQLiteDataBase
对象的方法就可以进行各种数据库操作了。
相关文章推荐
- mars老师[Android开发视频教学].01_16_SQLite使用方法 视频源码
- mars老师[Android开发视频教学].01_16_SQLite使用方法 视频源码
- Mars Android视频学习笔记——01_14/15_Handler的使用
- marsAndroid学习——SQLite使用方法
- SQLite 使用方法 -- MarsChen Android 开发教程学习笔记
- 学习 Mars 老师 Android 开发视频教程笔记之01_06 Android 常用控件
- Mars Android视频学习笔记——01_20_XML文件解析
- Mars Android视频学习笔记——01_23_WIFI网络操作
- Mars Android视频学习笔记——01_18_文件下载
- Mars Android视频学习笔记——01_23_WIFI网络操作
- Mars Android视频学习笔记——01_18_文件下载
- Mars Android视频学习笔记——01_21/22_广播机制
- Mars Android视频学习笔记——01_21/22_广播机制
- Mars Android视频学习笔记——01_20_XML文件解析
- mars android视频学习笔记一:Activity生命周期
- 【Android】学习笔记(10)——adb使用方法
- Mars Android视频学习笔记1-基础知识
- APIDemo学习笔记——Android上几种简单的Animation使用方法(一)
- Android学习小Demo(16)Android中使用已存在数据的SqliteDatabase
- Android 学习笔记之SurfaceView的使用+如何实现视频播放...