您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(guān)Android中SQLiteOpenHelper如何使用,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
1.SQLiteOpenHelper
SQliteOpenHelper是一個(gè)抽象類(lèi),來(lái)管理數(shù)據(jù)庫(kù)的創(chuàng)建和版本的管理。要使用它必須實(shí)現(xiàn)它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法
onCreate:當(dāng)數(shù)據(jù)庫(kù)***次被建立的時(shí)候被執(zhí)行,例如創(chuàng)建表,初始化數(shù)據(jù)等。
onUpgrade:當(dāng)數(shù)據(jù)庫(kù)需要被更新的時(shí)候執(zhí)行,例如刪除久表,創(chuàng)建新表。
2.實(shí)現(xiàn)代碼
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 { //數(shù)據(jù)庫(kù)版本 private static final int VERSION = 1; //新建一個(gè)表 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提供了一個(gè)名為SQLiteDatabase的類(lèi),它封裝了一些操作數(shù)據(jù)庫(kù)的API。使用它能實(shí)現(xiàn)基本的CRUD操作,通過(guò)getWritableDatabase()和getReadableDatabase()可以獲取數(shù)據(jù)庫(kù)實(shí)例。
4.實(shí)現(xiàn)代碼
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(); // } // }; // /** // * 新建一個(gè)數(shù)據(jù)庫(kù) // * @param dbName // * @return // */ // public SQLiteDatabase CreateDatabase(String dbName){ // dbHelper = new DBHelper(this, dbName); // return dbHelper.getWritableDatabase(); // } /** * 新建一個(gè)表 * @param db */ public void CreateTable(){ db = dbHelper.getWritableDatabase(); String sql = "create table if not exists TestUsers"+ "(id int primary key,name varchar,sex varchar)"; try { db.execSQL(sql); } catch (SQLException e) { Log.i("err", "create table failed"); } } /** * 插入數(shù)據(jù) */ public void InsertTb(){ db = dbHelper.getWritableDatabase(); String sql = "insert into TestUsers (id,name,sex) values (2,'hongguang','men')"; try { db.execSQL(sql); } catch (SQLException e) { Log.i("err", "insert failed"); } } /** * 更新數(shù)據(jù) */ public void UpdateTb() { db = dbHelper.getWritableDatabase(); String sql = "Update TestUsers set name = 'anhong',sex = 'men' where id = 2"; try { db.execSQL(sql); } catch (SQLException e) { Log.i("err", "update failed"); } } /** * 刪除數(shù)據(jù) */ public void DeleteTb(){ db = dbHelper.getWritableDatabase(); String sql = "delete from TestUsers where id = 2"; try { db.execSQL(sql); } catch (SQLException e) { Log.i("err", "delete failed"); } } /** * 打開(kāi)數(shù)據(jù)庫(kù) */ public void OpenDb(){ dbHelper = new DBHelper(this, "TestDb01"); db = dbHelper.getWritableDatabase(); } /** * 關(guān)閉數(shù)據(jù)庫(kù) */ public void CloseDb(){ dbHelper.close(); } @Override protected void onDestroy() { super.onDestroy(); if(db!=null){ db.close(); } if(dbHelper!=null){ dbHelper.close(); } } }
以上就是Android中SQLiteOpenHelper如何使用,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。