Android - 关于“记住我”的混乱功能性

发布于 2024-09-18 09:26:21 字数 466 浏览 6 评论 0原文

我读过这个问题: 如何实现“记住我”功能在 Android Activity 中?

我正在第一次开发 "Login" Activity, 我还拥有:

  1. 两个 EditText:用户名,密码
  2. 一个 checkbpx:记住我
  3. 一个按钮:登录

如果用户单击登录按钮,则用户名,密码应该在所有活动之间共享,我知道这可以是使用 SharedPreference 实现。

但是在“记住我”复选框上,如果用户选中一次,则下次“登录”活动不应出现,应直接出现第二个活动,那么我应该做什么?

I have read this question:
How do I implement a 'Remember me' function in an Android Activity? ,

I am developing "Login" Activity for the first-time,
Where i am also having:

  1. two EditText: Username, Password
  2. One checkbpx: Remember me
  3. one Button: Login

If user click on Login Button then Username, Password should be shared among all activity, i know this can be implemented using SharedPreference.

But On "Remember me" checkbox, if user check it once then next-time "Login" Activity should not be appeared, directly 2nd activity should appear, so for that what i should do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仅此而已 2024-09-25 09:26:21

对于这种情况,我在登录活动之前执行此操作,我有启动屏幕来检查登录活动上是否启用了“记住密码”选项。

启动屏幕也是一个活动,其中只有一个关于我的应用程序的精心设计的图像(如加载应用程序屏幕)。它的表演时间只有3秒。

此链接中的启动屏幕示例

For this Scenario, I do that Before Login Activity i have Splash Screen to check whether the Remember Password option enabled or not on the Login Activity.

Splash Screen Also a Activity that has just a well designed image about my App (like loading App screen). Its show for just 3 seconds.

example for Splash Screen in this link

若相惜即相离 2024-09-25 09:26:21

在登录活动的 onCreate() 方法中,在调用 setContentView() 之前检查“记住我”状态,如果为 true,则调用 startActivity() 打开下一个活动。类似于:

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  if(isRememberMeChecked()) {
    startActivity(intentForSecondActivity);
    return;
  }

  setContentView(R.layout.act_first);
  ....
  ...
  ..
  .

}

这里,isRememberMeChecked() 只是一个简单的方法,它根据 Remember Me 状态返回一个布尔值,比如说我是否使用 SharedPreferences 来存储状态,那么我的方法将是:

private boolean isRememberMeChecked() {
  return sPref.getBoolean(C.REMEMBER_ME, false);
}

In the onCreate() method of your Login Activity, before calling setContentView() check 'Remember Me' status and if it is true, then call startActivity() to open the next Activity. Something like :

@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  if(isRememberMeChecked()) {
    startActivity(intentForSecondActivity);
    return;
  }

  setContentView(R.layout.act_first);
  ....
  ...
  ..
  .

}

Here,isRememberMeChecked() is just a simple method which returns a boolean value depending on the Remember Me status, say if I'm using SharedPreferences to store the status, then my method will be :

private boolean isRememberMeChecked() {
  return sPref.getBoolean(C.REMEMBER_ME, false);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文