使用Kotlin的Android SharedPreferences

本文介绍了如何在Android应用中使用Kotlin实现SharedPreferences,用于本地数据存储。讲解了SharedPreferences的重要方法,如设置、检索、清除和删除值,并展示了Kotlin简化代码的例子,包括布局代码和MainActivity的Kotlin实现。
摘要由CSDN通过智能技术生成

In this tutorial, we’ll learn how to implement SharedPreferences in our Android Application using Kotlin.

在本教程中,我们将学习如何使用Kotlin在Android应用程序中实现SharedPreferences。

什么是Android SharedPreferences? (What is Android SharedPreferences?)

SharedPreferences is part of the Android API since API level 1. It’s an interface that allows us to store/modify/delete data locally.

从API级别1开始,SharedPreferences就成为Android API的一部分。它是一个接口 ,允许我们在本地存储/修改/删除数据。

Generally, it is used to cache user local data such as login forms. The data is stored in the form of a key-value pair.

通常,它用于缓存用户本地数据,例如登录表单。 数据以键值对的形式存储。

You can create multiple files to hold the SharedPreferences data.

您可以创建多个文件来保存SharedPreferences数据。

共享首选项方法 (SharedPreferences Methods)

Let’s look at some important methods for SharedPreferences.

让我们看一下SharedPreferences的一些重要方法。

  • getSharedPreferences(String, int) method is used to retrieve an instance of the SharedPreferences.
    Here String is the name of the SharedPreferences file and int is the Context passed.

    getSharedPreferences(String, int)方法用于检索SharedPreferences的实例。
    这里的String是SharedPreferences文件的名称, int是传递的上下文。
  • The SharedPreferences.Editor() is used to edit values in the SharedPreferences.

    SharedPreferences.Editor()用于编辑SharedPreferences值。
  • We can call commit() or apply() to save the values in the SharedPreferences file. The commit() saves the values immediately whereas apply() saves the values asynchronously.

    我们可以调用commit()apply()将值保存在SharedPreferences文件中。 commit()立即保存值,而apply()异步保存值。

使用Kotlin的SharedPreferences设置/检索值 (

好的,下面是使用 KotlinSharedPreferences 编写一个简单的注册应用程序的基本步骤: 1. 创建一个新的 Kotlin Android 项目,并在 app 的 build.gradle 文件中添加以下依赖项: ```groovy implementation "androidx.appcompat:appcompat:1.3.0" implementation "androidx.core:core-ktx:1.6.0" ``` 2. 在 res/layout 目录中创建一个名为 activity_register.xml 的新布局文件,并在其中添加以下控件: ```xml <EditText android:id="@+id/usernameEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Username" android:inputType="text" /> <EditText android:id="@+id/passwordEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Password" android:inputType="textPassword" /> <Button android:id="@+id/registerButton" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Register" /> ``` 3. 创建一个新的 Kotlin 类,用于表示用户信息。例如: ```kotlin data class User(val username: String, val password: String) ``` 4. 在 MainActivity 类中,实例化 EditText 和 Button 控件,并在 Button 的点击事件中保存用户信息到 SharedPreferences。例如: ```kotlin class MainActivity : AppCompatActivity() { private lateinit var usernameEditText: EditText private lateinit var passwordEditText: EditText private lateinit var registerButton: Button override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_register) usernameEditText = findViewById(R.id.usernameEditText) passwordEditText = findViewById(R.id.passwordEditText) registerButton = findViewById(R.id.registerButton) registerButton.setOnClickListener { val username = usernameEditText.text.toString() val password = passwordEditText.text.toString() val user = User(username, password) saveUser(user) Toast.makeText(this, "Registration successful", Toast.LENGTH_SHORT).show() } } private fun saveUser(user: User) { val sharedPreferences = getSharedPreferences("users", Context.MODE_PRIVATE) val editor = sharedPreferences.edit() editor.putString(user.username, user.password) editor.apply() } } ``` 5. 运行应用程序并测试。 这样,一个简单的注册应用程序就完成了。当用户在 EditText 中输入用户名和密码,并单击 Register 按钮时,应用程序将使用 SharedPreferences 保存用户信息。您可以使用 SharedPreferences 的 getString() 方法检索用户密码,以验证用户身份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值