Android初级开发(六)——3、SQLite数据库的增删改查

这段时间对自己的工作生活状态都是不满意的。工作上因为我刚刚入职,上级是不会把核心的任务交给我,所以我除了写写界面,还有很多时候都不知道要干什么,在项目上的进步也很少。生活上总是一堆琐事,刚刚来到北京,算是刚刚安定下来吧,但是租房总是各种各样的问题,而且生活还是比较拮据,因为不想让父母再供应自己的生活费,除了经济上的压力,最重要的是平时给自己安排的学习任务总是不能按时执行,这让我很自责和厌烦自己。

吐完苦水,还是要继续努力呀,毕竟抱怨后悔都解决不了问题。扎扎实实的学好技术,心理才能踏实呀。

今天整理一下SQLite数据存储的相关知识,这个知识点我在大学做项目的时候用到要吐,但是现在再去看竟然有很多点都忘了,所以如此看来,真的是要及时温故知新呀,要不然真的会因为理解不深入而很快忘记。

一、SQLite简介
用文件和SharedPreferences进行数据存储是很有限制的,它们只适合保存一些简单的数据和键值对,如果数据量比较大而且数据关系比较复杂时,SQLite就是比较合适的选择了。SQLite是Android Studio内置的一款轻量级关系型数据库,它的运行速度非常快,占用的资源很少,所以特别适合在异动设备上使用。如果有过SQL Sever的使用经验,那么就更容易上手SQLite了。
SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)、BLOB(二进制对象)数据类型,实际上它也接受varchar、char、decimal(p,s)等数据类型,只不过在运算或保存时会转成对应的五中数据类型。

二、创建数据库
Android提供了一个SQLiteOpenHelper帮助类,借助这个类可以非常简单的对数据库进行创建和升级。但它是个抽象类,如果我们想要使用它的话,就要定义一个自己的帮助类去继承他,然后重写它的抽象方法。主要有两个重要的方法:onCreate()和onUpdate()用于实现数据库的创建和升级。
public abstract void onCreate (SQLiteDatabase db):当数据库第一次被创建的时候去调用,在onCreate()方法里面可以生成数据库表结构和添加一些应用使用到的初始化数据,返回DataBase
public abstract void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion):当数据库需要更新的时候调用,调用的时候需要先删除原来的表,或者去更新新的版本号

  当然我们还会用到getReadableDatabase()和getWritableDatabase()这两个放来来获取数据实例。

getWritableDatabase()方法以读写的方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读不能写;
getReadableDatabase()方法以读写的方式打开数据库,如果数据库的磁盘空间满了,就会打开失败。

三、来个例子
1、需求:创建一个名为“Student.db”的数据库,存储每个学生的学号、姓名、性别、年龄、专业、手机号。在第一个界面显示添加数据、修改数据、查询数据、删除数据功能按钮,点击按钮进入相应功能界面,完成相应功能。其中为了方便起见,将修改数据于查询数据功能放置在一个活动界面中,用户先利用学号进行查询,然后可根据查询出的结果,对学生的某一项属性进行修改。
2、先看效果把
首页
添加数据页面
查询和修改数据页面
删除数据页面

3、代码部分
数据库部分(自定义一个帮助类):

public class MyDatabaseHelper extends SQLiteOpenHelper {
   

    //SQL语句创建表,并定义为一个字符串常量
    public static final String CREATE_STUDENT = "create table Student("
            + "id text primary key,"
            + "name text,"
            + "sex text,"
            + "age text,"
            + "major text,"
            + "phone text)";
    private Context mContext;

    //重写SQLiteOpenHelper的构造方法
    //这个构造方法接收四个参数,第一个参数是Context,上下文;
    //第二个参数是数据库名,创建数据库时使用的就是这里指定的名称;
    //第三个参数允许我们在查询数据时返回一个自定义的Cursor,一般传入null;
    //第四个参数表示当前数据库的版本号,用于对数据库进行升级操作。
    public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        mContext = context;
    }

    //创建数据库
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL(CREATE_STUDENT) ; //在创建SQLite数据库的同时执行建表语句
        Toast.makeText(mContext, "数据库创建成功
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Studio中使用SQLite数据库进行增删改查的步骤如下: 1. 创建数据库Android Studio中,可以使用SQLiteOpenHelper类来创建和管理数据库。首先,需要创建一个继承自SQLiteOpenHelper的类,并实现onCreate()和onUpgrade()方法。在onCreate()方法中,可以创建数据库表和初始化数据。 2. 插入数据 使用ContentValues类来存储要插入的数据,然后使用insert()方法将数据插入到数据库中。 3. 查询数据 使用query()方法查询数据库中的数据,可以指定查询条件、排序方式等参数。查询结果会返回一个Cursor对象,可以通过Cursor对象遍历查询结果。 4. 更新数据 使用ContentValues类来存储要更新的数据,然后使用update()方法将数据更新到数据库中。 5. 删除数据 使用delete()方法删除数据库中的数据,可以指定删除条件。 以上就是Android Studio中使用SQLite数据库进行增删改查的基本步骤。 ### 回答2: SQLiteAndroid Studio中内置的轻量级关系型数据库。 它在应用程序中被广泛使用,可以轻松地进行数据位置的插入、更新、删除和查询。下面将对如何在Android Studio中增删改查SQLite数据库进行详细介绍。 1. 创建数据库Android Studio中,打开新的“Android项目”并在后台中打开SQLite数据库。 首先需要在该项目的build.gradle文件中添加以下代码: ```java implementation 'com.android.support:support-sqlite:28.0.0' ``` 随后,我们建立一个新类,并在该类中创建由SQLiteOpenHelper扩展而来的helper类。 这可以通过从SQLiteOpenHelper创建一个适当的构造函数,并覆盖其onCreate()和onUpgrade()方法来完成。完成后,在主要应用程序中实例化helper。 2. 增加数据 要添加新数据,请创建一个行对象,然后可以使用该表的insert()方法将其插入到数据库中。下面是一个示例代码: ```java SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", “John Smith”); contentValues.put("age", 23); db.insert(“mytable”, null, contentValues); ``` 其中mytable是表名,name和age是表中列名。 3. 更新数据 要更新数据,请使用Table的update()方法。要更新给定行中的具体数据,请使用ContentValues对象,该对象可以使用put()方法来指定一个新值。下面是一个示例代码: ```java SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("age", 25); db.update(“tablename”, contentValues, “id=4”, null); ``` 这将会把id值为4的行的年龄值更新为25。 4. 删除数据 要删除数据,请使用Table的delete()方法。这个方法需要一个SQL语句作为参数。例如,如果要删除表中的一个特定行,请使用以下代码: ```java SQLiteDatabase db = this.getWritableDatabase(); db.delete(“mytable”, “id=2”, null); ``` 这将删除表mytable中id为2的行。 5. 查询数据 要查询数据,请使用query()方法。该方法需要传入一个表名、要返回的列和一些可选的where、group by和having语句的参数。下面是一个示例代码: ```java SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.query(“mytable”, new String[]{“id”, “name”, “age”}, null, null, null, null, null); ``` 这会查询mytable表中的id、name和age列,并将结果存储在Cursor对象cursor中。 以上是关于如何在Android Studio中增删改查SQLite数据库的简要介绍,这个过程还可以通过使用ORM类库等其他方法来简化。 但是,以上方法是SQLite基础部分中较为重要的部分。如有不懂之处,可以查看Android Studio SQLite官方文档进行更全面的了解。 ### 回答3: 在 Android Studio 中,开发者可以使用 SQLite 数据库来存储和管理应用程序中的数据。SQLite 是一种轻量级的关系型数据库,它非常适合于移动应用程序的存储需求。在本文中,我们将介绍如何使用 Android Studio 来完成 SQLite 数据库增删改查操作。 首先,我们需要在 Android Studio 中创建一个新的 Android 项目。在项目创建的过程中,需要设置应用程序的名称、包名和所支持的最低 API 级别等信息。之后,我们需要创建一个新的数据库表,表中包含应用程序需要存储的数据。 我们可以使用 SQLiteOpenHelper 类来创建和管理数据库SQLiteOpenHelper 类提供了一些方法来帮助我们处理 SQLite 数据库的创建和更新。在创建一个 SQLiteOpenHelper 对象时,我们需要提供数据库名称、版本号和表的结构。 接下来,我们将介绍如何使用 SQLiteDatabase 类来完成增删改查操作。SQLiteDatabase 类提供了一些方法来帮助我们对数据库进行操作。 1. 增加数据 使用 insert() 方法可以向数据库表中插入一行数据。insert() 方法需要传入表名、要插入的数据和一个选项参数。以下是一个示例: SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", "Tom"); values.put("age", 18); db.insert("students", null, values); 2. 删除数据 使用 delete() 方法可以从数据库表中删除一行或多行数据。delete() 方法需要传入表名和一个选择字符串来限制删除范围。以下是一个示例: SQLiteDatabase db = dbHelper.getWritableDatabase(); db.delete("students", "name=?", new String[]{"Tom"}); 3. 修改数据 使用 update() 方法可以修改数据库表中的一行或多行数据。update() 方法需要传入表名、要修改的数据和一个选择字符串来限制修改范围。以下是一个示例: SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("age", 20); db.update("students", values, "name=?", new String[]{"Tom"}); 4. 查询数据 使用 query() 方法可以从数据库表中查询一行或多行数据。query() 方法需要传入表名、要查询的列、一个选择字符串和一个排序字符串。以下是一个示例: SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query("students", new String[]{"name", "age"}, "age=?", new String[]{"20"}, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { String name = cursor.getString(cursor.getColumnIndex("name")); int age = cursor.getInt(cursor.getColumnIndex("age")); Log.d(TAG, "name:" + name + ", age:" + age); } cursor.close(); } 在使用 SQLite 数据库过程中,我们需要注意一些事项。比如,我们需要保证数据库的打开和关闭操作是成对出现的,以避免资源的浪费;我们还需要注意表名、列名和选择字符串等信息的正确性,否则会导致数据操作失败。此外,还应该使用事务来保证数据库操作的正确性和一致性。 总之,使用 Android Studio 的 SQLite 数据库功能可以帮助我们方便地管理应用程序中的数据。通过学习 SQLite 数据库增删改查操作,我们可以更好地开发出高质量、稳定性的移动应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值