现在的位置: 首页 > 综合 > 正文

忘记密码功能

2013年08月16日 ⁄ 综合 ⁄ 共 1310字 ⁄ 字号 评论关闭

最近参与一个社交类的项目,其中负责的模块有登陆注册模块,其中就有类似qq的忘记密码功能。

当时做得时候没有认真使用下qq的忘记密码功能,也没有考虑周全,把它放在眼里,结果被测试MM测出bug

点击记住密码,随便输入一个密码,退出后,下次登陆结果能正常登陆进去,预期结果应该是记住错误密码。

后来查了下原因,一般我们将账号密码都放在xml文件里面存取,每次初始化的时候,都从xml文件读取账号

和密码。由于自己的疏忽登陆成功或者注册成功之后就往里面写数据,没有登陆成功便不往里面写数据,结果

导致了xml文件里面都是正确的账号和密码。

还有一个疏忽就是点击选择记住密码选择框的时候,输入几个密码,退出,然后在登陆,是没有记住刚刚输入

的密码,这个可以在activity退出之后进行相应的写操作,一般在onDestroy函数里面,最好在super.onDestroy

函数条用之前,进行写操作,不然super.onDestroy里面会进行相应的资源释放行为

 protected void onDestroy() {
        mCalled = true;

        // dismiss any dialogs we are managing.
        if (mManagedDialogs != null) {
            final int numDialogs = mManagedDialogs.size();
            for (int i = 0; i < numDialogs; i++) {
                final ManagedDialog md = mManagedDialogs.valueAt(i);
                if (md.mDialog.isShowing()) {
                    md.mDialog.dismiss();
                }
            }
            mManagedDialogs = null;
        }

        // close any cursors we are managing.
        synchronized (mManagedCursors) {
            int numCursors = mManagedCursors.size();
            for (int i = 0; i < numCursors; i++) {
                ManagedCursor c = mManagedCursors.get(i);
                if (c != null) {
                    c.mCursor.close();
                }
            }
            mManagedCursors.clear();
        }

        // Close any open search dialog
        if (mSearchManager != null) {
            mSearchManager.stopSearch();
        }
    }

抱歉!评论已关闭.