/*SQLiteOpenHelper:是一个辅助类,这个类主要用于生产一个数据库,并对数据库的版本进行管理。此类为一抽象类,使用是需要继承此类并实现该类的方法
onCreate(SQLiteDatabase):在数据库第一次生产的时候会调用这个方法,一般我们在这个方法里边生产数据库表。
onUpgrade(SQLiteDatabase,int,int):当数据库需要升级的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据库表,并建立新的数据库表,当然是否还需要做其他的操作,完全取决于应用程序的需求。
onOpen(SQLiteDatabase):这是当打开数据库时的回调函数,一般也不会用到。
调用程序方法返回SQLiteDatabase对象。
当在程序当中调用这个类的方法getWritableDatabase()或者getReadableDatabase()方法的时候,如果当时没有数据,那么Android系统就会自动生产一个数据库。数据库使用完后记得调用close()方法关闭数据库。
*/
public class DbOpenHelper extends SQLiteOpenHelper{
public static final String TABLE_NAME = "fb";
public static final String ID = "_id";
public static final String COUNTRY = "country";
public static final String CODE = "code";
//构造方法
public DbOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS"
+ TABLE_NAME + "("
+ ID + "INTEGER PRIMARY KEY,"
+ COUNTRY + "VARCHAR,"
+ CODE + "INTEGER)"
);
}
//升级数据库
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
}
package com.google.datastore.sqllite;
import android.app.Activity;
import android.os.Bundle;
import com.google.datastore.R;
public class DbActivity extends Activity{
DbOpenHelper helper = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**
* 得到SQLiteDatabase的实例
*/
/* helper = new DbOpenHelper(this, FB, null, version);
//如果没有数据库,自动创建
SQLiteDatabase db = helper.getWritableDatabase();*/
}
/**
* 插入数据
*/
/*ContentValues values = new ContentValues();
values.put(DBHelper.COUNTRY, "中国");
values.put(DBHelper.CODE, 86);
db.insert(DBHelper.TB_NAME,DBHelper.ID, values);
*//**
* 改动数据
*//*
db.insert(DBHelper.TB_NAME,DBHelper.ID,null);
values.clear();
values.put(DBHelper.COUNTRY, "意大利");
values.put(DBHelper.CODE, 39);
db.update(DBHelper.TB_NAME, values,DBHelper.ID + " = 2",null);
*//**
* execSQL 执行SQL语言
*//*
db.execSQL("INSERT INTO "
+ DBHelper.TB_NAME + "("
+ DBHelper.COUNTRY + ","
+ DBHelper.CODE + ") VALUES "
+ "('洪都拉斯',504)");
*//**
* 查询数据
*//*
Cursor c = db.query(DBHelper.TB_NAME,null,null,null,null,null,
DBHelper.CODE+" DESC");
//删除数据
db.delete(DBHelper.TB_NAME,null,null);
*/
}