温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中SQLiteOpenHelper如何使用

发布时间:2021-06-26 16:01:01 来源:亿速云 阅读:145 作者:Leah 栏目:移动开发

本篇文章给大家分享的是有关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"+                           "(id int primary key,name varchar,sex varchar)";           try {               db.execSQL(sql);           } catch (SQLException e) {               Log.i("err", "create table failed");           }       }              /**       * 插入数据       */       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");           }       }              /**       * 更新数据       */       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");           }       }              /**       * 删除数据       */       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");           }       }              /**       * 打开数据库       */       public void OpenDb(){           dbHelper = new DBHelper(this, "TestDb01");           db = dbHelper.getWritableDatabase();       }              /**       * 关闭数据库       */       public void CloseDb(){           dbHelper.close();       }              @Override       protected void onDestroy() {           super.onDestroy();           if(db!=null){               db.close();           }           if(dbHelper!=null){               dbHelper.close();           }       }          }

以上就是Android中SQLiteOpenHelper如何使用,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI