Android数据存储汇总(3)

/*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);
    */
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/2209b8a7ca7bc9770fc66a0f5bdeb9b4.html