Android SQLite轻量级数据库(简单介绍)
SQLite它是相当于嵌入到安卓里的一个小数据库吧,
它也可以使用SQL语句进行数据库的增删改查操作,但是是SQL1992的语句。
然后SQLite也有自己的语句,但是学过SQL的应该都会发现,它比较鸡肋,
首先冗长代码不说,操作还花里胡哨的。
所以我们就是使用数据库语言通用 的SQL语句写就好了。
今天仍然讲昨天那个,昨天那个是不能注册的,我们今天就把注册信息放到数据库里
然后下次登录的时候就可以查询数据库里有没有,这样就真正实现了注册和登录。
主要介绍的是这个两个:
SqliteDatabase 他是代表数据库的一个对象 通过他就能操作数据库。
SqliteOpenHelper 创建打开数据库需要继承SqliteOpenHelper 。
它有两个方法,可以将数据写入数据库。
getReadableDatabase:一般用这个,可读可写,如果写满了就变只读(建议使用)。
getWritableDatabase:这个是可写,如果写满了就会报错。 他们的返回值是数据库对象,所以可以用数据库对象的变量去储存。
我们先创建跳转到注册界面的活动和布局。

先简答的创建一个注册页面,和活动。
再开始数据库的第一步操作,创建继承SqliteOpenHelper 的类,并重写方法

主要重写两个方法,第一个是创建数据库回调用的,第二个是更新数据库版本用的,
然后记得重写构造方法,不然在注册活动new不出来。
String sql = "create table user(id integer primary key autoincrement,username varchar(20),password varchar(20))";
db.execSQL(sql);
创建里的这两句话,就是使用SQL语句,然后db是SqliteDatabase 类型的变量
然后execSQL就是实现SQL语句。 听学长说更新的方法用不到,本牛崽看书上说其实改个版本号,然后数据表如果有多个,这个就有作用,
但是学长说的我可以理解成(我们只是代码的搬运工,那些数据库的东西我。们基本上拿过来用就行)
然后我们 写注册活动的东西:
其实就是昨天那个插件自动生成的结构,我们只需要改一些然后插入数据库对象和数据库打开助手
因为登录界面和注册界面差不多,所以变量就不变了,搞两个成员变量:数据库对象和数据库打开助手 然后在OnCreate里头开始new我们自己写的继承数据库打开助手的类,它的四个参数,我们已经在自己写的类里固定了三个,第一个数据就是上下文,所以我们只需要传入上下文就好
然后用数据库对象的变量去存储数据库打开助手点出来的可读写方法,相当于把数据通过助手写到数据库里去了。

点击方法就是给那俩个方法监听,返回就是跳转到登录界面,完成注册就是提醒你注册成功。
然后就是因为用插件生成的方法里有submit方法,它是得到用户和密码的方法,我们存入数据库就是点击注册之后,来这个方法里,把用户和密码存进来,我们在注册活动主要是“增”这个操作
主活动登录时是创建一个“查”的操作,以后再搞个修改密码就是“改”,“删”一般谨慎使用,
我们继续主活动里的方法,就也是修改一下submit方法里的,
我们的思路就是,先得到用户和密码,去数据查,如果有就判断密码对不对,如果没有就提示没有呗。

这边主要说说那个“查”的操作:
在submit方法里,我们获得用户名,这边用Cursor就是给它用rawQuaryd方式写SQL语句,
然后用用户名去找到他的所有信息,并且判断拿到密码和输入的密码是不是一样。
最后关闭数据库对象。

上面的截图有点长,因为代码长如果只复制代码,看起来就很乱,这样截图,就很容易看了。
今天的内容就到这了,我可以开开心心的组装我的QQ了,我发现最近学的好像跟扣扣都有联系,哈哈,等我凯旋的消息吧,
其实学长让我们做一个文件管理的东西,但是我不用那东西,感觉挺别扭,还没思路,qq这个东西玩的熟,而且听学长们讲课时,想的例子也都是QQ能搭上线的,
所以我打算自己写个简易版的手机QQ,前面自己是写了个小项目,可那都只是表面的花里胡哨,最近学的才是真材实料,奥利给。
Android SQLite轻量级数据库(简单介绍)的更多相关文章
- Android SQLite轻量级数据库的删除和查找操作
今天主要是补充昨天的内容,本打算合成一章的,但是毕竟一天一天的内容写习惯了. 就这样继续昨天的,昨天只讲了创建以及增加和查询, 其实用法都差不多,今天学长也是在原有的基础上写的,还顺便融合了Share ...
- Android SQLite (一) 数据库简介
大家好,今天来介绍一下SQLite的相关知识,并结合Java实现对SQLite数据库的操作. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准 ...
- Android sqlite管理数据库基本用法
Android操作系统中内置了sqlite数据库(有关sqlite数据库详细介绍见:http://zh.wikipedia.org/wiki/SQLite),而sqllite本身是一个很小型的数据库, ...
- android SQLite(安卓数据库的插入显示删除)
1.利用android自带数据库实现增加.删除.显示用户等操作 只是一个基本模型,为即将的与 复利计算apk整合做牺牲. 就不上传百度云供大家下载了 等整合了复利计算再上传. 数据的插入和显示: ...
- android: SQLite创建数据库
SQLite 是一款轻量级的关系型数据库,它的运算速度非常快, 占用资源很少,通常只需要几百 K 的内存就足够了,因而特别适合在移动设备上使用.SQLite 不仅支持标准的 SQL 语法,还遵循了数据 ...
- NDK中android.mk文件的简单介绍和第三方库的调用
先贴一个样例,然后解释一下: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := mydjvuapi SRC_FILE_ ...
- *.db-journal 是什么(android sqlite )数据库删除缓存
sqlite的官方文档,发现该文件是sqlite的一个临时的日志文件,主要用于sqlite数据库的事务回滚操作了.在事务开始时产生,在事务操作完毕时自动删除,当程序发生崩溃或一些意外情况让程序非法结束 ...
- [ios]sqlite轻量级数据库学习连接
SQLLite (一)基本介绍 http://blog.csdn.net/lyrebing/article/details/8224431 SQLLite (二) :sqlite3_open, sql ...
- Android 懒加载简单介绍
1.懒加载介绍 1.1.效果预览 1.2.效果讲解 当页面可见的时候,才加载当前页面. 没有打开的页面,就不会预加载. 说白了,懒加载就是可见的时候才去请求数据. 1.3.懒加载文章传送门 参考文章: ...
随机推荐
- 数据可视化基础专题(十五):pyecharts 基础(二)flask 框架整合
Flask 前后端分离 Step 1: 新建一个 Flask 项目 $ mkdir pyecharts-flask-demo $ cd pyecharts-flask-demo $ mkdir tem ...
- Spring升级案例之IOC介绍和依赖注入
Spring升级案例之IOC介绍和依赖注入 一.IOC的概念和作用 1.什么是IOC 控制反转(Inversion of Control, IoC)是一种设计思想,在Java中就是将设计好的对象交给容 ...
- sanri-tools-maven 企业软件开发工具集
9420 开发工具包 sanri-tools-maven 是一个开源的用于企业开发的工具包,重点想解决项目开发中一些比较麻烦的问题 根据表和模板生成相应代码:一些身份证,企业代码,车架号的验证与生成: ...
- JVM系列6-GC算法
一.如何判定垃圾? 1.1.Reference Count引用计数法:引用计数count=0的对象 1.2.Root Seaching根可达法:从root开始不可达的对象 常见的可做GC roots的 ...
- Java中使用方法的注意事项
Java方法使用的注意事项 本文列举了几个小白在java中使用方法应该注意的几个地方 1. 方法应该定义在类中2.方法中不可以再嵌套方法3.方法定义的前后顺序无所谓4.想要执行方法必须要调用5.如果方 ...
- Andriod 自动化环境搭建
一.安装JDK,配置JDK环境 百度搜索下载就行,这里分享一个下载链接:https://pan.baidu.com/s/1snuTOAx 密码:9z8r. 下载好后点击进行安装.安装好后进行环境 ...
- Bootstrap 3 -> 4 : 居中布局的变化
我们知道,Bootstrap布局的核心是栅格系统,一行有12个栅格. 比如,我想让两个宽度400px左右的div居中显示. 这个时候,我们可以利用栅格的列偏移功能. <div class=&qu ...
- CppUnit使用和源码解析
前言 CppUnit是一个开源的单元测试框架,支持Linux和Windows操作系统,在linux上可以直接进行源码编译,得到动态库和静态库,直接链接就可以正常使用,在Windows上可以使用VC直接 ...
- 【mysql】- 索引使用篇
回顾 每个索引都对应一棵B+树,B+树分为好多层,最下边一层是叶子节点,其余的是内节点.所有用户记录都存储在B+树的叶子节点,所有目录项记录都存储在内节点. InnoDB 存储引擎会自动为主键(如果没 ...
- DP学习记录Ⅰ
DP学习记录Ⅱ 前言 状态定义,转移方程,边界处理,这三部分想好了,就问题不大了.重点在状态定义,转移方程是基于状态定义的,边界处理是方便转移方程的开始的.因此最好先在纸上写出自己状态的意义,越详细越 ...