SQLite详解(1)
前言:学习任何一种技术,其实我们一般都解决这样的几个问题:是什么???干什么??怎么用?? 所以,这篇博客也将按照这样的思路:去讲解SQLite这个数据库
一、是什么?? SQLite是一个手机自带的数据库(类似于Access的小型数据库),不区分数据类型(除了主键),语法和MySQL相同,每个库是一个文件
二、干什么?? SQLite能够存储数据,并对数据惊醒增、删、改、查。。。而这些功能的实现并不是依赖于JDBC,而是利用Android自己提供的API
三、怎么用?? 好吧。。这个其实才是我们接下来应该详细讲解的。。。。 任何一个数据库,其实我们都是学习怎么创建库、创建表、基本CRUD、扩展的CRUD、最后学一下 事务,这样就算是基本学完了????对吧。。。。对!!!!!所以接下来就按照这个顺序进行讲解 1、创建库 在这个过程中会涉及到几个类(包括测试类)什么的, 1)DBOpenHelper
public class DBOpenHelper extends SQLiteOpenHelper { // 定义工具类,继承SQLiteOpenHelper public DBOpenHelper(Context context) { // 创建对象的时候,需要传入上下文环境 super(context,"njupt.db",null,4); /* * 由于父类没有无参构造函数,必须显式调用有参的构造函数 * 参数1: 上下文环境,用来确定数据库文件存储的目录 * 参数2: 数据库文件的名字 * 参数3: 生成游标的工厂,填null就是使用默认的 * 参数4: 数据库的版本,从1开始 */ } @Override public void onCreate(SQLiteDatabase db) { System.out.println("onCreate"); db.execSQL("CREATE TABLE person(id INTEGER PRIMARY KEY AUTOINCREMENT,name VARCHAR(20))"); // 执行SQL语句,创建表 } @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { System.out.println("onUpgrade"); db.execSQL("ALTER TABLE person ADD balance INTEGER"); } }解释: 定义类继承SQLiteOpenHelper,定义构造函数,显式调用父类构造函数,传入4个参数 2)DBTest 这时,我们写一个测试类来测试一下。。。。。。
package cn.njupt.sqlite; import android.test.AndroidTestCase; public class DBTest extends AndroidTestCase { public void testCreateDatabase() { DBOpenHelper helper = new DBOpenHelper(getContext()); helper.getWritableDatabase(); /* * 获取可写的数据连接 * 数据库文件不存在时,并且执行onCreate()方法 * 数据库文件存在,不执行任何方法 * 数据库文件存在,执行onUpgrade()方法 */ } } ....................................................到这里,创建库应该就讲解完了....................................................... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |