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

来源:互联网 发布:天地有大美而不言 知乎 编辑:程序博客网 时间:2024/04/26 05:32

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);}@Overridepublic void onCreate(SQLiteDatabase db) {System.out.println("Create DataBase");String sql = new String("CREATE TABLE user(id int,name TEXT);");db.execSQL(sql);}@Overridepublic 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);


	
				
		
原创粉丝点击