当前位置:数据库 > SQLite >>

Android如何使用SQLiteOpenHelper

 1.SQLiteOpenHelper

  SQliteOpenHelper是一个抽象类,来管理数据库的创建和版本的管理。要使用它必须实现它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法

  onCreate:当数据库第一次被建立的时候被执行,例如创建表,初始化数据等。

  onUpgrade:当数据库需要被更新的时候执行,例如删除久表,创建新表。

  2.实现代码

package xqh.utils;

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

public class DBHelper extends SQLiteOpenHelper {

    //数据库版本
    private static final int VERSION = 1;
    //新建一个表
    String sql = "create table if not exists TestUsers"+
    "(id int primary key,name varchar,sex varchar)";
   
    public DBHelper(Context context, String name, CursorFactory factory,
            int version) {
        super(context, name, factory, version);
    }

    public DBHelper(Context context,String name,int version){
        this(context,name,null,version);
    }
   
    public DBHelper(Context context,String name){
        this(context,name,VERSION);
    }
   
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(sql);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
       
    }
   
}

 

  3.SQLite的使用

  Android提供了一个名为SQLiteDatabase的类,它封装了一些操作数据库的API。使用它能实现基本的CRUD操作,通过getWritableDatabase()和getReadableDatabase()可以获取数据库实例。

  4.实现代码

package xqh.sqlite;

import xqh.utils.DBHelper;
import android.app.Activity;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.Button;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;;

public class TestSQLite extends Activity {

    Button textBtn = null;
    Button btnCreateDb = null;
    Button btnCreateTb = null;
    Button btnInsert = null;
    Button btnUpdate = null;
    Button btnDelete = null;
    DBHelper dbHelper = null;
    SQLiteDatabase db = null;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sqlitetest);
       
        OpenDb();
       
        textBtn = (Button)findViewById(R.id.btnHeader);
        textBtn.setFocusable(true);
       
//        btnCreateDb = (Button)findViewById(R.id.btnCreateDb);
//        btnCreateDb.setOnClickListener(createDbListener);
//       
//        btnCreateTb = (Button)findViewById(R.id.btnCreateTb);
//        btnCreateTb.setOnClickListener(createTbListener);
       
        btnInsert = (Button)findViewById(R.id.btnInsert);
        btnInsert.setOnClickListener(insertTbListener);
       
        btnUpdate = (Button)findViewById(R.id.btnUpdate);
        btnUpdate.setOnClickListener(updateTbListener);
       
        btnDelete = (Button)findViewById(R.id.btnDelete);
        btnDelete.setOnClickListener(deleteTbListener);

    }
   
    public OnClickListener deleteTbListener = new OnClickListener() {
        public void onClick(View v) {
            DeleteTb();
        }
    };
   
    public OnClickListener updateTbListener = new OnClickListener() {
        public void onClick(View v) {
            UpdateTb();
        }
    };
   
    public OnClickListener insertTbListener = new OnClickListener() {
        public void onClick(View v) {
            InsertTb();
        }
    };
   
//    public OnClickListener createDbListener = new OnClickListener() {
//        public void onClick(View v) {
//            CreateDatabase("TestDb01");
//        }
//    };

//    public OnClickListener createTbListener = new OnClickListener() {
//        public void onClick(View v) {
//            CreateTable();
//        }
//    };
   
//    /**
//     * 新建一个数据库
//     * @param dbName
//     * @return
//     */
//    public SQLiteDatabase CreateDatabase(String dbName){
//        dbHelper = new DBHelper(this, dbName);
//        return dbHelper.getWritableDatabase();
//    }
   
    /**
     * 新建一个表
     * @param db
     */
    public void CreateTable(){
        db = dbHelper.getWritableDatabase();
        String sql = "create table if not exists TestUsers"+
 

补充:移动开发 , Android ,
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,