前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了。
在Android 运行时环境包含了完整的 SQLite。
首先介绍一下SQLite这个数据库:
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
有一点相对其他数据库来说比较特殊的是:SQLite是无类型的. 这意味着你可以保存任何类型的数据到你所想要保存的任何表的任何列中,意思就是说话你可以在创建数据库表的时候任意定义数据类型,却不影响实际使用时的数据存储。
举个例子说就是你可以在创建表时定义username字段为varchar类型,但是实时使用时你可以向这个字段存入1、2.5、2012-6-6.。。这样的整型,单精,以及时间等其他类型,在SQLite里没有这种限制。
但是有一种情况例外:当字段类型为 ”Integer Primary Key” 时,就是定义表主键,这个就只能是integer类型。和普通数据库相同 。
SQLite 不支持一些标准的 SQL 功能,特别是外键约束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些 ALTER TABLE 功能。
需要注意一点: SQLite不支持存储过程!
我这里就简单介绍,如需要可自行去了解关于SQLite的更多知识,
然后是我的Demo(一个简单的完成数据库增删查改操作):
首先是项目目录结构:
在本项目中我们使用JUnit测试,就要在AndroidManifest.xml配置JUnit
AndroidManifest.xml
Java代码
package="org.yzsoft.sqlitedemo.test"
android:versionCode="1"
android:versionName="1.0" >
android:minSdkVersion="8"
android:targetSdkVersion="15" />
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name="org.yzsoft.sqlitedemo.activity.MainActivity"
android:label="@string/title_activity_main" >
android:name="android.test.InstrumentationTestRunner"
android:label="Test Unit Tests"
android:targetPackage="org.yzsoft.sqlitedemo.test" >
1、MainActivity.java(因为本项目中使用JUnit进行测试,就不需要Activity了,留着不用写它)
Java代码