Intent intent = new Intent(); SharedPreferences sp = getSharedPreferences("User", MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); editor.putString("name", n); editor.putString("type",state); editor.commit(); Xiaomu_Login.this.finish();
时间: 2024-02-10 11:22:03 浏览: 72
这段代码是在用户登录成功后,将用户名和用户类型存入SharedPreferences中。其中,“User”是SharedPreferences的文件名,MODE_PRIVATE表示只有当前应用程序才能访问这个SharedPreferences文件。editor.putString()是用于存储键值对的方法,将用户名和用户类型存入SharedPreferences中。最后,Xiaomu_Login.this.finish()是将当前Activity销毁,返回到上一个Activity。
相关问题
Android 进去管理员端,点击按钮跳转图书分类页面,但是返回了登录页面为啥?else if (cursor2.moveToFirst() && code.equalsIgnoreCase(codeStr) && radioButtonadmin.isChecked()){ Toast.makeText(Login.this, "登录成功", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(Login.this, Admin.class); startActivity(intent); SharedPreferences sharedPreferences = getSharedPreferences("login_info", MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("adminnumber", username); editor.apply(); }
根据您提供的代码片段,我们可以看出,在管理员端登录成功后,会跳转到 Admin.class 页面。如果在跳转到图书分类页面时返回了登录页面,可能是因为您在 Admin.class 页面的代码中,没有正确地管理会话状态。
您可以检查 Admin.class 页面的代码,确保在跳转到图书分类页面时,正确地加载会话信息,以保持登录状态。另外,您还可以检查图书分类页面的代码,确保在加载页面时,正确地验证会话信息,以确保管理员已经登录。
如果您仍然无法解决问题,建议您通过调试代码,逐步排查问题。例如,您可以在 Admin.class 页面的跳转代码中,添加日志输出语句,以检查会话信息是否正确加载。您还可以在图书分类页面的验证代码中,添加日志输出语句,以检查会话信息是否正确验证。通过这些调试方法,您可以更快地定位问题,并解决会话管理方面的 bug。
if (loginResult == true){ userArrayList = userTableHelper.UserList(dbHelper,str_username); String user_role = userArrayList.get(0).getRole(); String user_uid = userArrayList.get(0).getId(); String user_passlock = userArrayList.get(0).getPasslock(); SaveUP(str_username,str_password,user_uid,user_role,user_passlock); Toast.makeText(LoginActivity.this,"登录成功!",Toast.LENGTH_SHORT).show(); if (user_role.equals("MANAGERS")){ SharedPreferences sharedPreferences=getSharedPreferences("account",MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("role","MANAGERS"); editor.commit(); Intent goto1 = new Intent(LoginActivity.this,ShowBooksActivity.class); startActivity(goto1); }else { SharedPreferences sharedPreferences = getSharedPreferences("account",MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("role","USER"); editor.commit(); Intent goto2 = new Intent(LoginActivity.this,ShowBooksActivity.class); startActivity(goto2); } }else { sqTipsDialog.setMsg("登录失败!用户名不存在或密码错误!"); sqTipsDialog.show(); } } }else { sqTipsDialog.setMsg("请填写用户名或密码!"); sqTipsDialog.show(); } break;解释代码
这段代码是一个 Android 应用程序中的登录功能。首先,它判断用户输入的用户名和密码是否为空,如果不为空,则调用 `userTableHelper.UserList` 方法获取用户列表,并使用第一个元素的角色、ID 和密码锁等信息保存到本地。如果用户角色为 "MANAGERS",则将角色信息保存到共享参数中,然后跳转到 `ShowBooksActivity` 页面;否则,将角色信息保存到共享参数中,同样跳转到 `ShowBooksActivity` 页面。如果用户名和密码为空,则会提示用户填写。如果登录失败,则会提示用户名不存在或密码错误。
阅读全文