android studio 中的共享首选项不起作用

卡蒂克

我正在制作一个登录页面,它使用共享首选项存储用户的登录数据,但是在关闭应用程序后,当我再次打开它时,登录窗口不应该出现,但即使在使用共享首选项后它也会出现,所以我有每次打开时登录应用程序我试图找到错误但找不到,所以任何人都可以告诉我代码哪里出错了。

package com.kartik.activitylifecycle

import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast

class LoginActivity : AppCompatActivity(){

     lateinit var etMobileNumber: EditText
     lateinit var etPassword: EditText
     lateinit var btnLogin: Button
     lateinit var txtForgotPassword: TextView
     lateinit var txtRegister: TextView
      val validMobileNumber="9999"
    val validPassword= arrayOf("tony","steve","thanos","bruce")

    lateinit var sharedPreferences: SharedPreferences

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        sharedPreferences = getSharedPreferences(getString(R.string.preference_file_name), Context.MODE_PRIVATE)

        val isLoggedIn = sharedPreferences.getBoolean("isLoggedIn",false)
        if(isLoggedIn){
            val intent = Intent(this@LoginActivity,AvengersActivity::class.java)
            startActivity(intent)
        } else{
            setContentView(R.layout.activity_login)
        }


        title = "Log In"
        etMobileNumber=findViewById(R.id.etMobileNumber)
        etPassword=findViewById(R.id.etPassword)
        btnLogin = findViewById(R.id.btnLogin)
        txtForgotPassword=findViewById(R.id.txtForgotPassword)
        txtRegister=findViewById(R.id.txtRegisterYourself)


        btnLogin.setOnClickListener {
            val mobileNumber = etMobileNumber.text.toString()
            val password= etPassword.text.toString()
            var nameofAvenger="Avenger"
            val intent = Intent(this@LoginActivity,AvengersActivity::class.java)

            if((mobileNumber == validMobileNumber)) {
                if (password == validPassword[0]) {

                    savePreferences()

                    nameofAvenger = "IronMan"
                    intent.putExtra("Name", nameofAvenger)
                    startActivity(intent)
                } else if (password == validPassword[1]) {

                    savePreferences()

                    nameofAvenger = "Captain America"
                    intent.putExtra("Name", nameofAvenger)
                    startActivity(intent)
                }  else if (password == validPassword[2]) {

                    savePreferences()

                    nameofAvenger = "The Hulk"
                    intent.putExtra("Name", nameofAvenger)
                    startActivity(intent)
                }  else if (password == validPassword[3]) {

                    savePreferences()

                    nameofAvenger = "The Avenger"
                    intent.putExtra("Name", nameofAvenger)
                    startActivity(intent)
                }



            }
            else{
                Toast.makeText(this@LoginActivity, "Wrong user id/password entered",Toast.LENGTH_LONG).show()
            }


        }
    }

    override fun onPause() {
        super.onPause()
        finish()
    }
      fun savePreferences(){
        sharedPreferences.edit().putBoolean("is LoggedIn",true).apply()
    }


}
扎卡里

您的属性设置有误

sharedPreferences.edit().putBoolean("is LoggedIn",true).apply()

但是当你得到它时:

val isLoggedIn = sharedPreferences.getBoolean("isLoggedIn",false)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

共享首选项不起作用,android吗?

共享首选项不起作用,android,kotlin?

Android:共享的首选项不起作用

android共享首选项不起作用

Android Studio:无法在测试中写入共享首选项

使用Android Studio中的共享首选项存储Google登录详细信息

使用共享首选项以编程方式在 android studio 中关闭 LinearLayout

Android Studio:初始化共享首选项会导致活动启动崩溃

共享首选项无法存储和读取带条件的值。(Android Studio)

如何在Android Studio中保存具有共享首选项的listView [已解决]

要保持登录状态,请在 android studio 中使用共享首选项

如何在 Android Studio 中使用共享首选项保存我的 listView

在新安装的Android Studio中,“打开现有的Android Studio项目”选项不起作用

Android中首选项和共享首选项之间的区别

Android中字符串的共享首选项

Android Studio无法识别xml中的androidx首选项库

isReachable在android studio中不起作用

editableText 在 android studio 中不起作用

Android测试共享首选项

Android:共享首选项架构

Xamarin Android模拟共享首选项

Android MVP-共享首选项

如何保护Android共享首选项?

Android 共享首选项崩溃

拖放在Android Studio设计选项卡中不起作用

如何在Android Studio中的一个片段中收集数据并在另一个片段中显示数据,我正在使用“共享首选项”来执行此操作

使用共享首选项时,SecondActivity 不起作用

在Android Studio中,ListView中的按钮不起作用

wait()函数在android studio中的线程中不起作用