博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习之SQLite学习
阅读量:7144 次
发布时间:2019-06-29

本文共 1625 字,大约阅读时间需要 5 分钟。

花了2天时间,系统学习了下Android开发过程中使用的轻量级数据库SQLite的使用。

并掌握其增,删,该,查的基本数据库操作。

首先要使用SQLite数据库,须要通过Android系统提供的SQLiteOpenHelper的帮助类,通过这个类我们能够得到一个SQLite数据库。因此我们须要创建一个类继承SQLiteOpenHelper这个类,然后实现它的onCreate()和update()方法。  我在我的welthy.myDB包中所创建的基础帮助类的类 仅仅实现onCreate()和update()方法。

详细的增,删,改,查操作我另外创建了一个类实现。  所以这里的数据库初始化部分也放在了  操作实现的类中。  对于实现帮助类的代码例如以下:

实现了帮助类后 我便能够创建数据库,并对数据库进行一系列的操作。

首先进行数据库的初始化部分:

在进行初始化之前首先要得到SQLiteDatabase的对象和实现SQLiteOpenHelper帮助类的对象(即:DBmanager)。

然后再数据库操作实现类DBways类的构造函数中创建数据库。

假设不过dbHelper=new DBmanager(context,name);的话是无法得到数据库的。还有通过dbHelper.getWriteable()【须要对数据库编辑时】或者dbHelper.getReadable();【只读取数据库时】。通过这2个函数才干够得到一个数据库。然后通过ContentValues类给数据库的内容进行初始化【也能够不初始化。此时就是一个空数据库】。然后调用insert("表名",null,values)将初始化的值加入进数据库。

初始化后,首先说明下加入数据操作。

这里我定义的函数为:insert(String Pname,int Pid);详细实现内容和初始化加入数据时一样都是调用db【即 SQLiteDatabase的对象】的insert(。。。)函数。

详细代码例如以下:

主函数中直接调用就能够。

然后说明删除数据操作。

这里我定义的函数有2个一个是依据keyword删除。一个是删除数据库全部数据。调用的是db.delete("表名","删除条件","删除条件中的參数【即删除条件中?

号的值】");

当中依据keyword删除的是deleteKey(String name);实现代码例如以下:

删除全部数据就是删除条件为null的情况。

实现代码例如以下:

接着,说明下查询操作。

这里利用Cursor类来搜集查询结果集。这里调用的是rawQuery函数,这个函数是能够直接通过SQL语句进行查找操作。然后结果放入Cursor的对象cursor中。

当然,也能够使用query()函数,这个函数不须要熟悉SQL语句的操作。但相同返回的是cursor类型值。 实现代码例如以下:

这里得到cursor结果集之后,则能够通过Cursor类的方法对结果进行查询,首先将cursor游标放在第一行cursor.moveToFirst()。然后进入一个循环。仅仅要下一行还有数据,则通过cursor.getString(字段下标【0開始】)以字符串的形式得到数据。

直到下一行没有数据为止。

最后,说明下改动操作。

这里我相同定义了2个函数,由于我的字段就仅仅有name和 id 2个。

所以,能够依据一个字段改动同一行的还有一个字段值。

相同是通过ContentValues类得到改动后的数据,然后通过db.update("表名",更新的值,更新条件,更新条件參数)。

来改动数据。

首先是改动name字段的函数editName(String name,int id)。

详细实现代码例如以下:

然后是改动id字段的函数editId(String name,int id)。

详细实现代码例如以下:

详细的4种操作如上所述。如有疑问,欢迎探讨。

转载地址:http://qywgl.baihongyu.com/

你可能感兴趣的文章
概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式...
查看>>
worker_pool的例子
查看>>
Android 插件化
查看>>
Yii2的深入学习--自动加载机制
查看>>
sqlserver修改增删改字段
查看>>
设计模式介绍、分类、原则
查看>>
超级好用的解析JSON数据的网站
查看>>
C#正则表达式匹配任意字符
查看>>
Objective-c中@interface、@implementation、@protocal
查看>>
Python yield 使用浅析
查看>>
DMA(STM32)
查看>>
最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
查看>>
Boost.Asio基础(三)
查看>>
【转载】学习新东西的唯一方法
查看>>
[转]Android dex分包方案
查看>>
关于Redis的启动过程
查看>>
Android 按二次后退键退出应用程序
查看>>
Springboot监控之一:SpringBoot四大神器之Actuator之2--springboot健康检查
查看>>
一个简单多任务内核实例的分析【转】
查看>>
WPF 3D 小小小小引擎 - ·WPF 3D变换应用
查看>>