什么是SQLite:
SQLite是一款轻量级数据库,它的设计目的是嵌入式,而且它占用的资源非常少,在嵌入式设备中,只需要几百KB!!!!!
SQLite的特性:
轻量级
使用 SQLite只需要带一个动态库,就可以享受它的全部功能,而且那个动态库的尺寸想当小。
独立性
SQLite 数据库的核心引擎不需要依赖第三方软件,也不需要所谓的“安装”。
隔离性
SQLite数据库中所有的信息(比如表、视图、触发器等)都包含在一个文件夹内,方便管理和维护。
跨平台
SQLite目前支持大部分操作系统,不至电脑操作系统更在众多的手机系统也是能够运行,比如:Android。
多语言接口
SQLite 数据库支持多语言编程接口。
安全性
SQLite数据库通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只能有一个可以写入数据.
优点:
1.能存储较多的数据。 2.能将数据库文件存放到SD卡中!
什么是 SQLiteDatabase?
一个 SQLiteDatabase 的实例代表了一个SQLite的数据库,通过SQLiteDatabase 实例的一些方法,我们可以执行SQL 语句,对数
据库进行增、删、查、改的操作。需要注意的是,数据库对于一个应用来说是私有的,并且在一个应用当中,数据库的名字也是惟一的。
什么是 SQLiteOpenHelper ?
根据这名字,我们可以看出这个类是一个辅助类。这个类主要生成一个数据库,并对数据库的版本进行管理。当在程序当中调用这个类的
方法getWritableDatabase(),或者getReadableDatabase()方法的时候,如果当时没有数据,那么Android 系统就会自动生成一
个数
据库。SQLiteOpenHelper是一个抽象类,我们通常需要继承它,并且实现里边的3 个函数,
什么是 ContentValues 类?
ContentValues 类和Hashmap/Hashtable比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个
String 类型,而值都是基本类型。
什么是 Cursor ?
Cursor 在Android 当中是一个非常有用的接口,通过Cursor我们可以对从数据库查询出来的结果集进行随
机的读写访问。
==============================================================================================
继承的
SQLiteOpenHelper 类
java代码:
- package eoe.demo;
- import android.content.Context;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.util.Log;
- public class MySQLiteOpenHelper extends SQLiteOpenHelper{
- public final static int VERSION = 1;// 版本号
- public final static String TABLE_NAME = "himi";// 表名
- public final static String ID = "id";//后面ContentProvider使用
- public final static String TEXT = "text";
- public static final String DATABASE_NAME ="Himi.db";
- public MySQLiteOpenHelper(Context context) {
- // 在Android 中创建和打开一个数据库都可以使用openOrCreateDatabase方法来实现,
- // 因为它会自动去检测是否存在这个数据库,如果存在则打开,不过不存在则创建一个数据库;
- // 创建成功则返回一个SQLiteDatabase对象,否则抛出异常FileNotFoundException。
- //下面是来创建一个名为"DATABASE_NAME"的数据库,并返回一个SQLiteDatabase对象
- super(context,DATABASE_NAME,null,VERSION);
- }
- @Override
- // 在数据库第一次生成的时候会调用这个方法,一般我们在这个方法里边生成数据库表;
- public void onCreate(SQLiteDatabase db) {
- String str_sql = "CREATE TABLE " + TABLE_NAME + "(" +ID
- + " INTEGER PRIMARY KEY AUTOINCREMENT," + TEXT + " text);";
- // CREATE TABLE 创建一张表 然后后面是我们的表名
- // 然后表的列,第一个是id 方便操作数据,int类型
- // PRIMARY KEY 是指主键 这是一个int型,用于唯一的标识一行;
- // AUTOINCREMENT 表示数据库会为每条记录的key加一,确保记录的唯一性;
- // 最后我加入一列文本 String类型
- // ----------注意:这里str_sql是sql语句,类似dos命令,要注意空格!
- db.execSQL(str_sql);
- // execSQL()方法是执行一句sql语句
- // 虽然此句我们生成了一张数据库表和包含该表的sql.himi文件,
- // 但是要注意 不是方法是创建,是传入的一句str_sql这句sql语句表示创建!!
- }
- @Override
- public void onUpgrade(SQLiteDatabase db,int oldVersion,intnewVersion) {
- // 一般默认情况下,当我们插入 数据库就立即更新
- // 当数据库需要升级的时候,Android 系统会主动的调用这个方法。
- // 一般我们在这个方法里边删除数据表,并建立新的数据表,
- // 当然是否还需要做其他的操作,完全取决于游戏需求。
- Log.v("","onUpgrade");
- }
- }
未完待续 转自:http://www.eoeandroid.com/thread-96298-1-1.html (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|