zoukankan      html  css  js  c++  java
  • 开发日志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了

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

  • 相关阅读:
    AngularJs跨域请求Java的实现---博客园老牛大讲堂
    JavaWeb的json包装以及跨域问题--博客园老牛大讲堂
    无网络联机打单机游戏---博客园老牛大讲堂
    H5移动开发AUI框架入门---博客园老牛大讲堂
    MySql链表语句--博客园老牛大讲堂
    Jquery的基本用法--博客园老牛大讲堂
    Java的日期字符串的转换---博客园老牛大讲堂
    实现访问电脑百度,访问到自己的工程方法---博客园老牛大讲堂
    Jquery的闭包理解--匿名函数--博客园老牛大讲堂
    xampp的安装和配置与HBuilder的配置--博客园老牛大讲堂
  • 原文地址:https://www.cnblogs.com/022414ls/p/13527152.html
Copyright © 2011-2022 走看看