📜  kotlin android sharedpreferences

📅  最后修改于: 2021-01-05 08:41:05             🧑  作者: Mango

Kotlin android sharedpreferences

Android共享首选项允许活动或应用程序以键和值的形式存储和检索数据。即使关闭应用程序,存储在应用程序中的数据仍会保留,直到删除或清除为止。

Android设置文件使用“共享首选项”将应用程序设置数据以XML文件的形式存储在data / data / {application package} / share_prefs目录下。

要在我们的应用程序中访问“共享首选项”,我们需要使用以下任何一种方法来获取它的实例。

  • getPreferences()
  • getSharedPreferences()
  • getDefaultSharedPreferences()
val sharedPreferences: SharedPreferences = this.getSharedPreferences(String preferences_fileName,int mode)

这里preferences_fileName是共享首选项文件名,mode是文件的操作模式。

对首选项数据的修改是通过SharedPreferences.Editor对象执行的。

val editor:SharedPreferences.Editor =  sharedPreferences.edit()

要删除应用程序的首选项数据,我们调用方法:

  • editor.remove(“ key”) :它删除指定键的值
  • editor.clear() :删除所有首选项数据

当我们执行以下任何操作时,共享首选项中存储的数据将丢失:

  • 卸载应用程序。
  • 通过设置清除应用程序数据。

Kotlin Android SharedPreferences示例

在此示例中,我们将从EditText获取输入数据(ID和名称)并将其存储在首选项文件中。通过在Button上执行单击操作,可以检索此首选项数据并将其显示在TextView中,并清除(删除)首选项数据。

activity_main.xml

在activity_main.xml布局文件中添加以下代码:




    

        

            

            
        


        

            

            
        

        

            

            
        

        

            

            
        
    

    

        

MainActivity.kt

在MainActivty.kt类文件中添加以下代码。在此类中,我们将共享首选项数据以键值形式存储在kotlinsharedpreference中。

package example.javatpoint.com.kotlinsharedpreference

import android.content.Context
import android.content.SharedPreferences
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView



class MainActivity : AppCompatActivity() {

    private val sharedPrefFile = "kotlinsharedpreference"

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val inputId = findViewById(R.id.editId)
        val inputName = findViewById(R.id.editName)
        val outputId = findViewById(R.id.textViewShowId)
        val outputName = findViewById(R.id.textViewShowName)

        val btnSave = findViewById

输出:



通过使用SharedPreferences,我们可以通过将用户的状态(数据)存储在首选项文件中来在应用程序中创建登录和注销功能。