Android SQLite数据库增删改查实现代码及电脑查看SQLite数据库的方法

本文详细介绍了如何在Android中使用SQLite数据库进行数据操作,包括实例化SQLiteDatabase、增加记录、删除记录和查询记录的步骤,并提供了相关代码示例。此外,还分享了如何在电脑上使用SQLiteStudio工具查看Android设备中的数据库,帮助开发者进行Bug排查。
摘要由CSDN通过智能技术生成

概述

SQLite具有轻量级、独立、易于维护等优点,支持绝大部分SQL语法,是Android编程中用于数据存储的常用方式。本文列举了增、删、改等常见操作。

实例化SQLiteDatabase

首先需要实例化一个SQLiteDatabase,然后再进行其他操作。实例化代码如下:

private SQLiteDatabase mDbDialog;

然后在主函数中令其指向特定的数据库;

mDbDialog = openOrCreateDatabase("GIMChat.db", Context.MODE_PRIVATE, null);

注意在所有操作(增删改查等)完成后要关闭数据库:

mDbExistDialog.close();

增加记录

话不多说先上代码:

mDbDialog.execSQL("CREATE TABLE IF NOT EXISTS dialog (_id INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR, friendname VARCHAR, mecessage VARCHAR, ismesend SMALLINT)");
mDbDialog.execSQL("INSERT INTO dialog VALUES (NULL, ?, ?, ?, ?)",new Object[]{LoginActivity.Username, friendname, list.get(i).getBody(), 1});

注:
1.其中第一句代码的作用是:如果数据库中存在该表格,则向表格中增加一条记录,反之则先创建一个表格;
2.在插入记录时,要注意每一个字段的数据类型要与第一句中定义的数据类型一致。

删除记录

mDbChat.execSQL("DELETE FROM dialog WHERE friendname = ?", new String[]{ChatLists.get(position).getFriendname()});

其中dialog是要进行操作的表格的名称,friendname是表格中的一个字段(即删除记录的依据)。

查询记录

这里以遍历查询数据库表格中的所有记录为例(如检索聊天记录)。
首先需要实例化一个数据库指针:

private Cursor ExistDialog_cursor;

然后在主函数中使用该指针:

mDbExistDialog = openOrCreateDatabase("GIMChat.db", Context.MODE_PRIVATE, null);
        mDbExistDialog.execSQL("CREATE TABLE IF NOT EXISTS dialog (_id INTEGER PRIMARY KEY AUTOINCREMENT, username VARCHAR, friendname VARCHAR, mecessage VARCHAR, ismesend SMALLINT)");
        ExistDialog_cursor = mDbExistDialog.rawQuery("SELECT * FROM dialog WHERE username == ?", new String[]{LoginActivity.Username});

通过调用“.moveToNext(
)”方法,该指针可以实现对所有符合检索条件的记录的遍历。以恢复聊天记录为例,将聊天记录存储在手机本地,当用户点击聊天框时,可以通过“Friendname”及“Minename”字段的检索,实现对应聊天记录的恢复:

while (ExistDialog_cursor.moveToNext()){
                dialog.setUsername(ExistDialog_cursor.getString(ExistDialog_cursor.getColumnIndex("username")));
                dialog.setFriendname(ExistDialog_cursor.getString(ExistDialog_cursor.getColumnIndex("friendname")));
                dialog.setMecessage(ExistDialog_cursor.getString(ExistDialog_cursor.getColumnIndex("mecessage")));
                dialog.setisMeeSend(ExistDialog_cursor.getInt(ExistDialog_cursor.getColumnIndex("ismesend")));
                if (dialog.getUsername().equals(LoginActivity.Username)){
                    if (dialog.getFriendname().equals(ChatActivity.exist_friendname) ||dialog.getFriendname().equals(ChatActivity.exist_friendname+"@47.96.151.84")){
                        if (dialog.getisMesend() == 0){
                            ExistDialogManage(false, true, dialog.getMecessage(), ChatActivity.exist_friendname);
                        }else {
                            ExistDialogManage(false, false, dialog.getMecessage(), ChatActivity.exist_friendname);
                        }
                    }
                }
        }

注意所有操作做完后要关闭该指针:

ExistDialog_cursor.close();

电脑查看SQLite数据库

在实际开发过程中往往需要查看数据库的内容,以进行一些Bug的排除等操作。笔者个人推荐一个个人觉得很好用的工具:SQLite Studio。该软件是一个开源软件,能在电脑端查看Android设备中的SQLite数据库。
——————————————————————————
最后贴一下我的个人公众号:微信搜索“茶迁”或扫描下图。平时会更新一些编程相关的文章,欢迎大家关注~
茶迁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

保温杯拖把风扇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值