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轻量级数据库(简单介绍)的更多相关文章

  1. Android SQLite轻量级数据库的删除和查找操作

    今天主要是补充昨天的内容,本打算合成一章的,但是毕竟一天一天的内容写习惯了. 就这样继续昨天的,昨天只讲了创建以及增加和查询, 其实用法都差不多,今天学长也是在原有的基础上写的,还顺便融合了Share ...

  2. Android SQLite (一) 数据库简介

    大家好,今天来介绍一下SQLite的相关知识,并结合Java实现对SQLite数据库的操作. SQLite是D.Richard Hipp用C语言编写的开源嵌入式数据库引擎.它支持大多数的SQL92标准 ...

  3. Android sqlite管理数据库基本用法

    Android操作系统中内置了sqlite数据库(有关sqlite数据库详细介绍见:http://zh.wikipedia.org/wiki/SQLite),而sqllite本身是一个很小型的数据库, ...

  4. android SQLite(安卓数据库的插入显示删除)

    1.利用android自带数据库实现增加.删除.显示用户等操作 只是一个基本模型,为即将的与 复利计算apk整合做牺牲. 就不上传百度云供大家下载了 等整合了复利计算再上传. 数据的插入和显示:   ...

  5. android: SQLite创建数据库

    SQLite 是一款轻量级的关系型数据库,它的运算速度非常快, 占用资源很少,通常只需要几百 K 的内存就足够了,因而特别适合在移动设备上使用.SQLite 不仅支持标准的 SQL 语法,还遵循了数据 ...

  6. NDK中android.mk文件的简单介绍和第三方库的调用

    先贴一个样例,然后解释一下: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := mydjvuapi SRC_FILE_ ...

  7. *.db-journal 是什么(android sqlite )数据库删除缓存

    sqlite的官方文档,发现该文件是sqlite的一个临时的日志文件,主要用于sqlite数据库的事务回滚操作了.在事务开始时产生,在事务操作完毕时自动删除,当程序发生崩溃或一些意外情况让程序非法结束 ...

  8. [ios]sqlite轻量级数据库学习连接

    SQLLite (一)基本介绍 http://blog.csdn.net/lyrebing/article/details/8224431 SQLLite (二) :sqlite3_open, sql ...

  9. Android 懒加载简单介绍

    1.懒加载介绍 1.1.效果预览 1.2.效果讲解 当页面可见的时候,才加载当前页面. 没有打开的页面,就不会预加载. 说白了,懒加载就是可见的时候才去请求数据. 1.3.懒加载文章传送门 参考文章: ...

随机推荐

  1. WPF之Converter

    1.Converter介绍 在WPF应用程序中经常遇到类似这样的问题,在定义的类中用的bool类型的值,但是界面上某个控件的显示属性是Visibility的枚举类型的,解决这个问题可以简单在定义的类中 ...

  2. requests接口自动化2-url里不带参数的get请求

    最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...

  3. 机器学习实战基础(十六):sklearn中的数据预处理和特征工程(九)特征选择 之 Filter过滤法(三) 总结

    过滤法总结 到这里我们学习了常用的基于过滤法的特征选择,包括方差过滤,基于卡方,F检验和互信息的相关性过滤,讲解了各个过滤的原理和面临的问题,以及怎样调这些过滤类的超参数.通常来说,我会建议,先使用方 ...

  4. Flask 基础组件(九):请求扩展

    #!/usr/bin/env python # -*- coding:utf-8 -*- from flask import Flask, Request, render_template app = ...

  5. Activiti工作流--分布式实现方案

    一.运行环境 以下所有的描述都是基于Activiti的5.20.0.1版本 public interface ProcessEngine extends EngineServices { /** th ...

  6. ES6的功能简介

    1. let, const, var let: 块级作用域, 不存在变量提升, 值可更改 const:块级作用域, 不能存在变量提升, 值不可更改 var: 函数级作用域, 变量提升, 值可更改 案例 ...

  7. 用matplotlib画简单折线图示例

    例1 import numpy as np import matplotlib.pyplot as plt from scipy import stats rx1 = np.array([54.52, ...

  8. 不会吧,有人用了两年Spring, 居然不知道包扫描是怎么实现的

    全栈的自我修养: 0004 Java 包扫描实现和应用(File篇) I may not be able to change the past, but I can learn from it. 我也 ...

  9. Electron-vue 项目搭建

    Electron 应用技术体系推荐 目录结构 demo(项目名称) ├─ .electron-vue(webpack配置文件) │  └─ build.js(生产环境构建代码) | └─ dev-cl ...

  10. 【JVM之内存与垃圾回收篇】执行引擎

    执行引擎 执行引擎概述 执行引擎属于 JVM 的下层,里面包括 解释器.及时编译器.垃圾回收器 执行引擎是 Java 虚拟机核心的组成部分之一. "虚拟机"是一个相对于" ...