首先我们需要明白,什么情况下使用数据库存储数据呢?大量数结构相同的数据时候需要使用数据库存储,常见的数据库有mysql sqlserver sqlite oracle等,在android下使用的是sqlite。
在android下创建数据库的步骤如下:
1,创建 一个工程,我这里创建的工程名是createSqlite
2,创建一个类(Mysqlite)继承SQLiteOpenHelper实现onCreate和onUpgrade这两个方法
package com.example.createsqlite;
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class Mysqlite extends SQLiteOpenHelper {
public Mysqlite(Context context) {
//context:上下文
//name:数据库的名字注意数据库名字必须以.db结尾
//factory:用来创建cursor对象默认为null
//version:数据的版本号,从1开始当版本号改变时onUpgrade方法将会调用
super(context,"my.db", null,1);
}
//当数据库第一次创建的时候调用,适合做表结构的初始化,需要执行sql语句
@Override
public void onCreate(SQLiteDatabase db) {
}
//当数据库版本改变的时候调用,适合做表结构的修改
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
3,创建Mysqlite类的对象并调用getWritableDatabase或 getReadableDatabase方法会帮助我们打开一个数据库
package com.example.createsqlite;
import android.os.Bundle;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Mysqlite mysqlite = new Mysqlite(this);
mysqlite.getWritableDatabase();
}
}
4,复写oncreate方法和onUpgrade这两个方法
package com.example.createsqlite;
import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class Mysqlite extends SQLiteOpenHelper {
public Mysqlite(Context context) {
//context:上下文
//name:数据库的名字注意数据库名字必须以.db结尾
//factory:用来创建cursor对象默认为null
//version:数据的版本号,从1开始当版本号改变时onUpgrade方法将会调用
super(context,"my.db", null,1);
}
//当数据库第一次创建的时候调用,适合做表结构的初始化,需要执行sql语句
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table my(_id integer primary key autoincrement,name varchar(50))");
}
//当数据库版本改变的时候调用,适合做表结构的修改
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//添加一个字段phone
db.execSQL("alter table my add phone varchar(30)");
}
}
4,运行工程,接下来就来查看数据库步骤如下 DDMS->data->data->com.example.createsqlite(这个是你项目的包名)->databases可以查看到
5,把数据库导到桌面
6,使用 SQLiteExpertPers工具类(下载地址:http://pan.baidu.com/s/1dFKLlML)打开数据库查看,如下