Android中sqlite数据库的简单使用
16lz
2021-01-23
摘要:每个应用程序都要使用数据, Android 应用程序也不例外, Android 使用开源的、与操作系统无关的 SQL 数据库 --SQLite ,本文介绍的就是如何为你的 Android 应用程序创建和操作 SQLite 数据库。
数据库支持每个应用程序无论大小的生命线,除非你的应用程序只处理简单的数据,那么就需要一个数据库系统存储你的结构化数据,Android使用SQLite数据库,它是一个开源的、支持多操作系统的SQL数据库,在许多领域广泛使用,如Mozilla FireFox就是使用SQLite来存储配置数据的,iPhone也是使用SQLite来存储数据的。 在Android中,你为某个应用程序创建的数据库,只有它可以访问,其它应用程序是不能访问的,数据库位于Android设备/data/data//databases文件夹中,在这篇文章中,你将会学习到如何在Android中创建和使用数据库。
Android如何使用SQLiteOpenHelper•1.SQLiteOpenHelper
2.实现代码
3.SQLite的使用
•Android提供了一个名为SQLiteDatabase的类,它封装了一些操作数据库的API。使用它能实现基本的CRUD操作,通过getWritableDatabase()和getReadableDatabase()可以获取数据库实例。
4.实现代码
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模式
数据库支持每个应用程序无论大小的生命线,除非你的应用程序只处理简单的数据,那么就需要一个数据库系统存储你的结构化数据,Android使用SQLite数据库,它是一个开源的、支持多操作系统的SQL数据库,在许多领域广泛使用,如Mozilla FireFox就是使用SQLite来存储配置数据的,iPhone也是使用SQLite来存储数据的。 在Android中,你为某个应用程序创建的数据库,只有它可以访问,其它应用程序是不能访问的,数据库位于Android设备/data/data//databases文件夹中,在这篇文章中,你将会学习到如何在Android中创建和使用数据库。
Android如何使用SQLiteOpenHelper
•1.SQLiteOpenHelper
• SQliteOpenHelper是一个抽象类,来管理数据库的创建和版本的管理。要使用它必须实现它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法
• onCreate:当数据库第一次被建立的时候被执行,例如创建表,初始化数据等。
• onUpgrade:当数据库需要被更新的时候执行,例如删除久表,创建新表。
2.实现代码
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.实现代码
/** * 新建一个数据库 * @param dbName * @return */ public SQLiteDatabase CreateDatabase(String dbName){ dbHelper = new DBHelper(this, dbName); return dbHelper.getWritableDatabase(); } /** * 打开数据库 */ public void OpenDb(){ dbHelper = new DBHelper(this, "TestDb01"); db = dbHelper.getWritableDatabase(); } /** * 关闭数据库 */ public void CloseDb(){ dbHelper.close(); } /** * 新建一个表 * @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"); } }
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模式
更多相关文章
- 使用android快速开发框架afinal 开发android应用程序
- flutter与android混合开发一:Android原生项目创建flutter模块、An
- Android学习札记13:为什么更推荐使用Parcelable来在Activity间传
- Android系统对应用程序权限申请的处理方式分析
- Android应用程序汉化教程
- Android 之读取元素中的数据