安卓开发中SQLite的使用

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

1,创建数据库类

安卓中提供SQLiteOpenHelper类,用来管理数据库的创建和版本更新,它是SQLiteDatabase的一个帮助类。我们在平时开发过程中一般是继承SQLiteOpenHelper类,并实现它的onCreate()方法和onUpgrade()方法
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

    }

}

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

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

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);//执行插入操作

   ②,使用execSQL

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

数据删除
   ①,

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

   ②,

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

数据修改
   ①,

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

   ②,

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

数据查询
   ①,利用游标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**/

如:

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"));
    }
}

   ②,也可以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"));
}

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 开发使用 SQLite 数据库是一种常见的方法来存储和管理数据SQLite 是一种轻量级的关系型数据库系统,它被广泛应用于移动应用程序和嵌入式系统。 下面是一个简单的示例,演示如何在 Android 应用程序创建一个 SQLite 数据库和表。 1. 创建一个 DBHelper 类,继承自 SQLiteOpenHelper。 ```java public class DBHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "mydatabase.db"; private static final int DATABASE_VERSION = 1; public DBHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String CREATE_TABLE = "CREATE TABLE mytable (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)"; db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { db.execSQL("DROP TABLE IF EXISTS mytable"); onCreate(db); } } ``` 2. 在你的 Activity 或 Fragment ,创建一个 DBHelper 对象并获取一个可写的 SQLite 数据库。 ```java DBHelper dbHelper = new DBHelper(getContext()); SQLiteDatabase db = dbHelper.getWritableDatabase(); ``` 3. 在数据库插入数据。 ```java ContentValues values = new ContentValues(); values.put("name", "John"); values.put("age", 25); db.insert("mytable", null, values); ``` 4. 查询数据。 ```java String[] columns = {"id", "name", "age"}; Cursor cursor = db.query("mytable", columns, null, null, null, null, null); while (cursor.moveToNext()) { int id = cursor.getInt(cursor.getColumnIndex("id")); String name = cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); Log.d(TAG, "id: " + id + ", name: " + name + ", age: " + age); } ``` 5. 关闭数据库。 ```java dbHelper.close(); ``` 以上是一个简单的示例,演示了如何在 Android 应用程序使用 SQLite 数据库。在实际开发,你可能需要更复杂的表结构和查询语句,但这个示例可以作为一个起点帮助你开始使用 SQLite

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值