Android SQLite轻量级数据库(简单介绍)

Posted 羸弱的澳龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的介绍及使用

android SQLite数据库的使用介绍详解

python内置库--sqlite3

Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite

Android数据库框架——GreenDao轻量级的对象关系映射框架,永久告别sqlite

SQLite数据库框架--FMDB简单介绍