• 挑战练习5.5 堵住漏洞


    作弊者是注定会失败的。当然,如果他们能一直避开反作弊手段,那就另当别论了。正所谓道高一尺魔高一丈,也许他们能做到。

    1.GeoQuiz应用有些大漏洞,可以旋转CheatActivity来清除作弊痕迹。

    解决方法,把数据保存在Bundle对象里面。

    首先先定义好Key值

    然后在onSaveInstanceState方法里面把数据放进Bundle对象里面

    最后在onCreate方法里面把数据传回QuizActivity里面

    2.作弊返回后,用户可以旋转QuizActivity来清除mIsCheater变量值。

    这个跟上面的解决方法一样,首先定义好Key值。

    然后一样是在onSaveInstanceState里面传数据

     

    最后在onCreate方法里面拿出来

    3.用户可以不断单击NEXT按钮,跳到偷看过答案的问题,从而使作弊记录丢失。

    这题的解决方法在第二个BUG的基础上解决。

    首先定义好Key值:

    然后把原本的原本的mIsCheater变成一个布尔值的数组

    在onSaveInstanceState存放数据,这次的方法换成

    先把一些报错的地方改成mIsCheater[mCurrentIndex]

    最后在onCreate方法里面加一个循环让mIsCheater都为false默认没作弊过,最后再在Bundle对象里面取值出那些题作弊过的数据处理

     

  • 相关阅读:
    js与jquery常用数组方法总结
    js 对象深复制,创建对象和继承
    Web前端面试常识
    jQuery插件开发之boxScroll与marquee
    jQuery插件开发之windowScroll
    《将博客搬至CSDN》
    蓝桥杯 翻硬币
    AcWing 756.蛇形矩阵
    货仓选址
    费解的开关
  • 原文地址:https://www.cnblogs.com/real1587/p/9879184.html
Copyright © 2020-2023  润新知