开发日志17

今天完成了注册登录案例

利用短信登录,并且做个标记存放在sharedpreference中,然后下次再进入软件时,会利用它来判断是否已经登录,

若登录,则直接进入首页,若没有登录跳转到登录页面

用时:7个多小时

效果:

          

遇到的问题:

1.短信验证实现之后,我想把手机号和密码添加到SQLLite数据库中以便判断,但是当我在用DBOpenHelper时,发现我添加不到里边

我当时的猜想就是,是不是我短信验证和存储密码不能一起使用,短信验证功能会报错。后来我暂时把存储到数据库的功能注释了,短信验证就可以了

但是这也不能吧,我就不信,再上网搜,没找到,那就是没有这块的问题呗。

是我自己写错了肯定,我就开始找错误,从onCreate函数开始,就是在这发现了错误

我少了这句:mDBOpenHelper = new DBOpenHelper(this); 来获取这个DBOpenHelper的类

这可是个致命错误啊,当我加上之后,再打开添加数据库功能,结果就可以了

到这时,经历了一晚上的折腾,终于找到了问题所在

2.如何能够实现用户第二次登录,能够不再用登录,直接进入主页面(除非用户退出登录,这时才回跳到登录页)

我上网查了一下,大致结果如下:

根据你的需求需要三步:

(1).第一步就是你创建个class类继承自Application,作为你app的整个应用层,在里面写一个或几个变量,根据你的需求写,如果你的用户登录状态有token,

你就写一个变量保存token,在判断是否登录的时候直接判断token是否为空就行,如果没有你要写一个能判断用户登录状态的参数的变量,ok,这是判断用户是否登录的

(2).第二步就是上面同志们所说的保存登录状态的,你就保存在SharedPreference里面或者你保存在java提供的Peroperty里面,都是键值对的存储,把一个或几个用来判断用户登录状态的参数写进去,

只要你的app不卸载和用户不在设置里面清楚你的app的数据他会一直存在,ok,这就是实现保存用户登录状态的

(3).第三步就是用户在打开你的app的时候,首先执行第一步的继承与application的类,你在这个类里面的oncreate方法中初始化用户登录信息,具体就是你从SharedPreference中取出你的用户信息

(一般会保存用户对象的json字符串信息),并将判断用户登录状态的参数赋值给该类里面的你定义的变量,

ok,这就是实现每次用户打开app,只要是没登录你的第一步的变量就是空的,登陆后变量就是有值得,用户的登录状态也就ok了

 

主要的实现步骤:在下一篇

 

posted @ 2020-08-19 08:07  谜语+  阅读(154)  评论(0编辑  收藏  举报