当前位置:   article > 正文

安卓开发中SQLite的使用_android开发中sqlite的作用

android开发中sqlite的作用

使用SQLite是安卓开发最中常用的数据处理方式之一, SQLite可以非常方便的进行数据存储,管理和维护等等。废话不多说,下面我来简单的介绍一下安卓中关于SQLite的使用。

1,创建数据库类

安卓中提供SQLiteOpenHelper类,用来管理数据库的创建和版本更新,它是SQLiteDatabase的一个帮助类。我们在平时开发过程中一般是继承SQLiteOpenHelper类,并实现它的onCreate()方法和onUpgrade()方法
  • 1
  • 2
  • 3
public class DBOpenHelper extends SQLiteOpenHelper {

    private static final String DB_NAME = "account.db";//建立数据库名称
    private static final int VERSION = 1;//数据库的版本

    public DBOpenHelper(Context context) {
        super(context, DB_NAME, null, VERSION);
        // TODO Auto-generated constructor stub
    }

    // 首次创建数据库的时候调用, 一般可以把建库建表的操作在里边执行
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("create table if not exists stu_tb(_id integer primary key autoincrement, name text not null, sex text not null, age integer not null)");
    }
    // 当数据库版本发生变化时自动执行
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub

    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

2,数据库类创建好了之后,我们就可以在其他地方调用这个类

DBOpenHelper helper= new DBOpenHelper(context);
SQLiteDatabase db = null;
db = helper.getWritableDatabase();
//接下来就可以进行数据库的增删改查
  • 1
  • 2
  • 3
  • 4

3,对于数据库的增删改查,SQLiteDatabase类为我们提供了很多方法,其中比较常用方法介绍如下:

(返回值)方法名方法描述
(int) delete(String table,String whereClause,String[] whereArgs)删除数据行的便捷方法
(long) insert(String table,String nullColumnHack,ContentValues values)添加数据行的便捷方法
(int) update(String table, ContentValues values, String whereClause, String[] whereArgs)更新数据行的便捷方法
(void) execSQL(String sql)执行一个SQL语句,可以是一个select或其他的sql语句
(void) close()关闭数据库
(Cursor) query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)查询指定的数据表返回一个带游标的数据集
(Cursor) rawQuery(String sql, String[] selectionArgs)运行一个预置的SQL语句,返回带游标的数据集(与上面的语句最大的区别就是防止SQL注入)

接下来详细介绍增删改查的方法
数据添加:
    ①,使用insert

ContentValues cv = new ContentValues();//实例化一个ContentValues用来装载待插入的数据cv.put("password","123456");//添加用户名
cv.put("password","123456"); //添加密码
db.insert("stu_tb",null,cv);//执行插入操作
  • 1
  • 2
  • 3

   ②,使用execSQL

String sql = "insert into stu_tb(username,password) values ('Michael','123456');//插入操作的SQL语句
db.execSQL(sql);//执行SQL语句
  • 1
  • 2

数据删除
   ①,

String whereClause = "username=?";//删除的条件
String[] whereArgs = {"Michael"};//删除的条件参数
db.delete("stu_db",whereClause,whereArgs);//执行删除
  • 1
  • 2
  • 3

   ②,

String sql = "delete from stu_dbwhere username='Michael'";//删除操作的SQL语句
db.execSQL(sql);//执行删除操作
  • 1
  • 2

数据修改
   ①,

ContentValues cv = new ContentValues();//实例化ContentValues
cv.put("password","12345678");//添加要更改的字段及内容
String whereClause = "username=?";//修改条件
String[] whereArgs = {"Michael"};//修改条件的参数
db.update("stu_db",cv,whereClause,whereArgs);//执行修改
  • 1
  • 2
  • 3
  • 4
  • 5

   ②,

String sql = "update [user] set password = '12345678' where username='Michael'";//修改的SQL语句
db.execSQL(sql);//执行修改
  • 1
  • 2

数据查询
   ①,利用游标Cursor使用query来实现查询非常方便。游标Cursor的具体使用可以参照有关文档,里面的方法都比较简单易懂

public Cursor query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit)
//table:表名称
//colums:列名称数组
//selection:条件子句,相当于where
//selectionArgs:条件语句的参数数组
//groupBy:分组
//having:分组条件
//orderBy:排序类
//limit:分页查询的限制
//Cursor:返回值,相当于结果集ResultSet
/**以上提供了非常多的查询条件,不需要的条件则为null**/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

如:

Cursor c = db.query("stu_db",null,null,null,null,null,null);//查询并获得游标
while(c.moveToNext()){
        String username = c.getString(c.getColumnIndex("username");
        String password = c.getString(c.getColumnIndex("password"));
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

   ②,也可以rawQuery实现查询

Cursor c = db.rawQuery("select * from stu_db where username=?",new Stirng[]{"Michael"});
if(c.moveToFirst()) {
    String username = c.getString(c.getColumnIndex("username");
    String password = c.getString(c.getColumnIndex("password"));
}
  • 1
  • 2
  • 3
  • 4
  • 5

总结:
以上是Android中关于SQLite的简单使用,可以满足平时开发过程的需要。由上可知,对于增删改查都有多种方法可以达到目的,对于使用哪一种就要看自己的需要了。之前对安卓使用SQLite都不是很熟悉,现在写了这篇文章后已经熟悉很多了,以后开发过程中也方便参考。当然,我也是个安卓初学者,若有哪里写得不够好有错误,欢迎指正!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/267242
推荐阅读
相关标签
  

闽ICP备14008679号