一、SQLite简介
SQLite是一种嵌入式关系型数据库管理系统,它可以在无需单独的数据库服务器或者配置管理的情况下,完成对于本地及网络上的数据进行访问和管理。
特点:1、轻量级的数据库引擎;2、易于安装、部署和配置;3、可以无需单独的数据库服务器而直接使用;4、支持事务处理、具备高效、可靠、安全等特性。
二、SQLiteHelper使用方法
1、SQLiteHelper概述
SQLiteHelper是Android系统内置的SQLite数据库操作类,它可以帮助我们完成数据表的创建、升级、删除等一系列数据库操作,避免了手动操作数据库的繁琐和出错。
2、SQLiteHelper代码实例
``` public class MyDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; private static final String CREATE_TABLE = "create table user (_id integer primary key autoincrement, name text, age integer);"; public MyDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //升级数据库 db.execSQL("DROP TABLE IF EXISTS user"); onCreate(db); } public Cursor query() { SQLiteDatabase db = getReadableDatabase(); Cursor cursor = db.query("user", null, null, null, null, null, null); return cursor; } public void insert(String name, int age) { SQLiteDatabase db = getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("age", age); db.insert("user", null, values); } public void update(int id, String name, int age) { SQLiteDatabase db = getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("age", age); db.update("user", values, "_id=?", new String[]{String.valueOf(id)}); } public void delete(int id) { SQLiteDatabase db = getWritableDatabase(); db.delete("user", "_id=?", new String[]{String.valueOf(id)}); } } ```3、SQLiteHelper具体使用
(1)创建数据库:在需要创建数据库时,可以调用SQLiteHelper类的构造函数创建数据库
``` MyDatabaseHelper helper = new MyDatabaseHelper(context); SQLiteDatabase db = helper.getWritableDatabase(); ```(2)查询数据:可以使用SQLiteHelper中提供的query()方法进行数据查询
``` Cursor cursor = helper.query(); while(cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("_id")); String name = cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); } ```(3)插入数据:可以使用SQLiteHelper中提供的insert()方法进行数据插入
``` helper.insert("John", 25); ```(4)更新数据:可以使用SQLiteHelper中提供的update()方法进行数据更新
``` helper.update(1, "Tom", 30); ```(5)删除数据:可以使用SQLiteHelper中提供的delete()方法进行数据删除
``` helper.delete(1); ```三、SQLiteHelper使用注意事项
1、使用SQLiteHelper时,需要注意数据库的版本号,在数据库升级时,需要修改版本号,并在SQLiteHelper的构造函数中进行相应的处理。
2、为了避免内存泄漏,需要在使用完数据库后,调用close()方法关闭数据库。
3、需要合理的使用事务处理,来提高数据操作时的效率。
四、总结
SQLiteHelper是Android系统内置的SQLite数据库操作类,它可以帮助我们完成数据表的创建、升级、删除等一系列数据库操作,代码复用率高,效率高。
在使用SQLiteHelper时,需要注意数据库的版本号,在进行数据库升级时,要进行相应操作,避免数据的丢失和出错。
此外,还需要注意内存泄漏问题,在关闭数据库时,需要在适当的时机调用close()方法。