SharedPreferences的简单测试

啥时候才能不是项目需要就得去百度而是我自己就有思路开始写代码哇,,

 直接上代码:

package com.example.ex50videotest;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.util.Log;

/**
 * @author ShirleyLuo
 * @date 2018年10月9日 下午3:02:32
 */
public class SharedPreferenceDemo extends Activity {
	/**
	 * 1:SharedPreferences的数据是存储到哪里的?一定是xml文件吗?是的。
	 * 2:据说如果是用早fragment里面的SharedPreferences的话需要放在onAttach(Activity
	 * activity)里面进行SharedPreferences 的初始化,否则会报空指针 即 getActivity()会可能返回null
	 * !但是自己没有试过的
	 */

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		/**
		 * 存入数据
		 */
		// 获取SharedPreferences对象,参数一:用于保存SharedPreferences的数据资源文件名称;参数二:访问这个文件的权限
		SharedPreferences sp = getSharedPreferences("test",
				Context.MODE_PRIVATE);
		// 让SharedPreferences处于被编辑状态
		SharedPreferences.Editor ed = sp.edit();
		// 存放数据,只能存放Java的基本类型的数据
		ed.putString("str", "ppx");// key-value形式,因为SharedPreferences其实是存储在Map里面的
		ed.putInt("data", 789);
		// 完成提交
		ed.commit();

		/**
		 * 读取数据
		 */
		// 首先还是要获取到SharedPreferences
		SharedPreferences sp2 = getSharedPreferences("test",
				Context.MODE_PRIVATE);
		// 获取指定key的值,如果没有就设为默认值
		String str = sp2.getString("str", "默认值");
		int data = sp2.getInt("data", 0);

		// 移除指定的数据sp:如果是在移除了数据之后再去打印数据的话要在提交之后再获取一次,要不然打印的就是之前的数据哦。
		Editor ed2 = sp2.edit();
		ed2.remove("data");

		// 清空数据
		ed2.clear();

		// 完成提交
		ed2.commit();
		int d2 = sp2.getInt("data", 0);
		String str2 = sp2.getString("str", "默认值");
		Log.d("233", "233" + str2 + "---->>>" + d2);
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是使用 Kotlin 和 SharedPreferences 编写一个简单的注册应用程序的基本步骤: 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、付费专栏及课程。

余额充值