日期:2014-05-16 浏览次数:20468 次
Himi ?原创, 欢迎转载,转载请在明显处注明! 谢谢。
原文地址:?http://blog.csdn.net/xiaominghimi/archive/2011/01/04/6114629.aspx
?上一篇跟各位童鞋介绍了SharedPreference 和 File流如何存储数据,并且推荐使用FileOutputStream/FileInputStream来存储咱们游戏数据,那么这一篇则是像大家介绍另外一种适合游戏数据存储的方式:SQLite 轻量级数据库!
先介绍几个基本概念知识:
?什么是SQLite:
?? ? ? SQLite是一款轻量级数据库,它的设计目的是嵌入式,而且它占用的资源非常少,在嵌入式设备中,只需要几百KB!!!!!
SQLite的特性:
?? ? ?优点:1.能存储较多的数据。
?? ? ? ? ? ? ? ?2.能将数据库文件存放到SD卡中!
什么是 SQLiteDatabase??
?? ? 一个 SQLiteDatabase 的实例代表了一个SQLite 的数据库,通过SQLiteDatabase 实例的一些方法,我们可以执行SQL 语句,对数 ? ? ? ?据库进行增、删、查、改的操作。需要注意的是,数据库对于一个应用来说是私有的,并且在一个应用当中,数据库的名字也是惟一的。
什么是 SQLiteOpenHelper ?
?? ? 根据这名字,我们可以看出这个类是一个辅助类。这个类主要生成一个数据库,并对数据库的版本进行管理。当在程序当中调用这个类的 ? ? ? ?方法getWritableDatabase(),或者getReadableDatabase()方法的时候,如果当时没有数据,那么Android 系统就会自动生成一 ? ? ? ?个数 ?据库。SQLiteOpenHelper 是一个抽象类,我们通常需要继承它,并且实现里边的3 个函数,
什么是 ContentValues 类?
?? ? ContentValues 类和Hashmap/Hashtable 比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个
?? ? String 类型,而值都是基本类型。
什么是 Cursor ?
?? ? Cursor 在Android 当中是一个非常有用的接口,通过Cursor 我们可以对从数据库查询出来的结果集进行随??机的读写访问。
OK,基本知识就介绍到这里,下面开始上代码:还是按照我的一贯风格,代码中该解释的地方都已经在代码中及时注释和讲解了!
顺便来张项目截图:
?? ? ? ? ? ? ? ?
先给出xml:
?
?
?? ?xml中定义了我们需要练习用到的几个操作按钮,这里不多解释了,下面看java源码:先看我们继承的?SQLiteOpenHelper 类