Android之SQLiteOpenHelper
来源:互联网 发布:基于yii的cms 编辑:程序博客网 时间:2024/05/19 12:23
1.SQLiteOpenHelper
3.SQLite的使用
5.一些SQLite操作命令
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(); } } }
5.一些SQLite操作命令
5.1 adb shell 进入命令模式
5.2 cd 文件名 进入文件
5.3 ls或ls -l 查看目录下的文件
5.4 sqlite3 数据库名 进入数据库
5.5 .schema 查看数据库下的信息
5.6 ctrl+d 退出sqlite模式
转自:http://tech.chinaunix.net/a2010/1103/1121/000001121539.shtml
- Android之SQLiteOpenHelper
- Android数据库之SQLiteOpenHelper
- Android之SQLiteOpenHelper
- Android之SQLiteOpenHelper
- Android之SQLiteOpenHelper
- Android之SQLiteOpenHelper
- Android之使用SQLiteOpenHelper
- Android之SQLiteOpenHelper的使用
- Android初学者之SQLiteOpenHelper类
- Android SQLite操作之“SQLiteOpenHelper”
- Android中SQLite之SQLiteOpenHelper详解
- Android中SQLite之SQLiteOpenHelper详解
- Android SQLite数据库之三,SQLiteOpenHelper
- 【android】SQLite数据库之SQLiteOpenHelper与SQLiteDatabase
- Android之Sqlite,SQLiteOpenHelper的使用
- Android:SQLiteOpenHelper
- android:SQLiteOpenHelper
- android sqliteopenhelper
- Zip压缩文件 与 解压
- JS判断浏览器类型及版本
- 20111111==程序员
- java 枚举
- 从现在开始
- Android之SQLiteOpenHelper
- 复数旋转的矩阵推导
- Custom Membership Providers
- db2 数据转json v0.02
- 在 C# 中执行 javascript 代码
- bcb中使用pas文件
- mdk报错invalid redeclaration of type name "s32"
- adnroid 3D 系列之基本概念篇
- js动态设置div的值