现在的位置: 首页 > 综合 > 正文

android学习笔记—SQLite数据库的使用

2014年01月07日 ⁄ 综合 ⁄ 共 2023字 ⁄ 字号 评论关闭

Android平台为用户提供了轻量级的数据库 SQLite,可供用户存储相关数据。

在使用SQLite开发时候,主要用到以下三个类:

SQLiteOpenHelper:A helper class to manage database creation and version management.

SQLiteDatabase:SQLiteDatabase has methods to create, delete, execute SQL commands, and perform other common database
management tasks.

ContentValues:This class is used to store a set of values that the ContentResolver can
process.

以下是一个测试的例子,主要说明SQLite的使用方法:

要使用SQLite数据库系统存储数据,和使用其他的数据库系统步骤类似,我们主要通过回答以下几个问题来学习该数据库系统的使用方法:

  • 如何创建数据库?

SQLite中创建数据库,主要通过类SQLiteOpenHelper类来完成。

SQLiteOpenHelper类是一个抽象类,程序开发者首先要定义该类的子类(例子程序中为:SQLiteHelper类);其次通过该类提供的两个方法:getWritableDatabase()以及getReadableDatabase()方法来创建/获取数据库。

//创建SQLiteHelper对象,并设置数据库名
SQLiteHelper helper = new SQLiteHelper(this,this.databaseName);
//如果仅有上面一句,不会创建数据库,必须调用getWritableDatabase()或者 getReadableDatabase()方法,才会真正的创建数据库
SQLiteDatabase db = helper.getWritableDatabase();

SQLiteOpenHelper类为我们提供了回调函数onCreate()方法,可以在此方法中写有关表创建的代码

package masic007.SQLite;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;

public class SQLiteHelper extends SQLiteOpenHelper {
	
	public static int version = 1;

	public SQLiteHelper(Context context, String name, CursorFactory factory,
			int version) {
		super(context, name, factory, version);
		
	}
	public SQLiteHelper(Context context,String name)
	{
		super(context,name,null,SQLiteHelper.version);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		System.out.println("Create DataBase");
		String sql = new String("CREATE TABLE user(id int,name TEXT);");
		db.execSQL(sql);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// TODO Auto-generated method stub

	}

}
  • 如何使用数据库?

SQLiteDatabase类为我们提供了丰富的数据库操作方法,具体细节可以参看Android开发文档。这里我们以一个简单的插入数据例子来说明使用方法。


//获取可写数据库
SQLiteHelper helper = new SQLiteHelper(this,this.databaseName);
SQLiteDatabase db = helper.getWritableDatabase();
	
//通过ContentValues存储要插入的数据,通过键值对存储
ContentValues contentvalues = new ContentValues();
contentvalues.put("id", "1");
contentvalues.put("name", "masic007");
			
//调用insert()方法插入数据;
db.insert("user", null, contentvalues);




















抱歉!评论已关闭.