Android学习之SQLite学习
花了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种操作如上所述。如有疑问,欢迎探讨。
Android学习之SQLite学习的更多相关文章
- 七、Android学习第六天——SQLite与文件下载(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 七.Android学习第六天——SQLite与文件下载 SQLite SQ ...
- Android中的SQLite使用学习
Android中的SQLite使用学习 SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是 ...
- Android开发系列之学习路线图
通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明 ...
- 20172327 2018-2019-1 《第一行代码Android》第一章学习总结
学号 2018-2019-1 <第一行代码Android>第一章学习总结 教材学习内容总结 - Android系统架构: 1.Linux内核层 Android系统是基于Linux内核的,这 ...
- SQLite 学习笔记
SQLite 学习笔记. 一.SQLite 安装 访问http://www.sqlite.org/download.html下载对应的文件. 1.在 Windows 上安装 SQLite. ...
- SQlite 学习资料
很有用的开源跨平台数据库,可以作为客户端的小型内存数据库使用,据说它有N多用户(Nokia's Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,FireFo ...
- Android 开源项目及其学习
Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...
- SQLite学习笔记(七)&&事务处理
说到事务一定会提到ACID,所谓事务的原子性,一致性,隔离性和持久性.对于一个数据库而言,通常通过并发控制和故障恢复手段来保证事务在正常和异常情况下的ACID特性.sqlite也不例外,虽然简单,依然 ...
- sqlite学习
一鼓作气,今天继续学习了sqlite数据库在Xcode上的一些操作,主要是通过用oc代码进行salite表格的创建,删除,修改:以及对现有的表格数据进行增,删,改,查.虽然有点累,但是收获不小,感觉很 ...
随机推荐
- Linux下编译安装qemu和libvirt
目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 ...
- haproxy ssl相关配置
ssl-default-bind-options [<option>]... This setting is only available when support for OpenSSL ...
- Introduction to Big Data with Apache Spark 课程总结
课程主要实用内容: 1.spark实验环境的搭建 2.4个lab的内容 3.常用函数 4.变量共享 1.spark实验环境的搭建(windows) a. 下载,安装visualbox 管理员身 ...
- Wikioi 1294 全排列
先给出链接地址:Wikioi 1294 虽然题目很短,论难度也就是个深搜,算法方面我就不多说了,而且我知道c++有个函数叫next_permutation,谁用谁知道. 代码如下: #include& ...
- poj 1273 Drainage Ditches_最大流模版
#include <iostream> #include<cstdio> #include<queue> #include<cstring> using ...
- #include <boost/bind.hpp>
纯C++风格,没有使用#include <boost/bind.hpp> #include <iostream> #include <algorithm> #inc ...
- xml中,button改变背景颜色方法
在画几个设置界面,用到了button控件,对于button空间的背景色在不同状态下的颜色改变方法,做了一下尝试,发现了两种背景颜色改变的方法,就总结了下. 方法一尝试了好多遍才好,要点在于,在sele ...
- ARM上的linux如何实现无线网卡的冷插拔和热插拔
ARM上的linux如何实现无线网卡的冷插拔和热插拔 fulinux 凌云实验室 1. 冷插拔 如果在系统上电之前就将RT2070/RT3070芯片的无线网卡(以下简称wlan)插上,即冷插拔.我们通 ...
- jQuery Uploadify上传插件
jQuery Uploadify在ASP.NET MVC3中的使用 1.Uploadify简介 Uploadify是基于jQuery的一种上传插件,支持多文件.带进度条显示上传,在项目开发中常被使用. ...
- Linux下配置VNC
1.确认是否安装vnc服务端 : rpm -q tigervnc-server 默认是没有安装的,需要在Linux系统文件Packages文件夹找到vnc安装包(里面有两个分别是客户端与服务端)tig ...