SharedPreferences简单使用

SharePreference是android的一种轻量级的数据存储工具。
一般用于保存短信、用户账号资料、联系人等。
其以键值对的方式存储程序的应用信息。
其只能存储基本的数据类型:boolean、float、int、long、String。
其以XML文件的形式保存在/data/data/程序包名/shard_prefs。
在这里插入图片描述

其基本使用很简单,效果图如下:在这里插入图片描述
主要用到的类:SharePreferences、Eitor、Map(遍历全部数据时用)

1.声明并实例化SharePreferences,用到静态方法getSharePreferences(name,mode)
(1)、name:表示数据存储位置的文件名,不用带后缀
(2)、mode:文件查看的权限
MODE_PRIVATE:默认操作模式,表示该文件私有,只能被应用本身访问。(这里我们用默认模式)
2.声明并实例化Editor,用到SharedPreferences的edit()方法。
3.之后便可以用Editor的对象执行增、删、改、查
(1)增加数据:putString(“key”,“value”);仅支持存储基本的数据类型,增加数据之后调用commit();方法上交,否则操作无效
(2)删除数据:调用remove(“key”);方法,之后还要调用commit方法上交
(3)修改数据:就是对键值相同的数据的覆盖
(4)查找数据:调用SharedPreferences的getString方法(仅支持存储基本的数据类型)第一个参数为key,第二个参数为""(空)
4.遍历所有数据则要调用SharedPreferences的getAll()方法,其返回的时一个Map,遍历Map即可

java代码:

   import android.annotation.SuppressLint;
  import android.app.Activity;
  import android.content.SharedPreferences;
  import android.os.Bundle;
  import android.util.Log;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.TextView;
  
  import java.util.Map;
  
  public class MainActivity extends Activity {
      public TextView show;
      public EditText edit;
      public Button sure;
      public SharedPreferences sharedPreferences;
      public SharedPreferences.Editor editor;
      public Map<String,String> map ;
      @SuppressLint("CommitPrefEdits")
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          show = findViewById(R.id.show);
          edit = findViewById(R.id.edit);
          sure = findViewById(R.id.sure);
  
          //1.实例化SharedPreferences,第一个参数是文件名字,第二个参数是模式
          sharedPreferences = getSharedPreferences("test",MODE_PRIVATE);
          //2.实例化Editor
          editor = sharedPreferences.edit();
  
          sure.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  //1.装入数据
                  editor.putString("name",edit.getText().toString());
                  //2.上交数据
                  editor.commit();
                  //3.浏览数据
                  show.setText(sharedPreferences.getString("name",""));
                  //4.浏览全部数据
                  Map<String,?> map = sharedPreferences.getAll();
                  for(Map.Entry k : map.entrySet()){
                      Log.i("Key"+k.getKey(),"Value"+sharedPreferences.getString(k.getKey().toString(),""));
                  }
                  //5.删除数据
                  editor.remove("name").commit();
              }
          });
      }
  }

xml代码:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.example.administrator.sharedprefences.MainActivity">
        <EditText
            android:id="@+id/edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
        <Button
            android:id="@+id/sure"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="写入"
            />
        <TextView
            android:id="@+id/show"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SharedPreferences是Android中用于存储小量数据的轻量级存储方式,通常用于存储一些简单的配置信息、用户偏好设置等。下面是SharedPreferences使用步骤: 1. 获取SharedPreferences对象 可以通过Context类中的getSharedPreferences()方法获取SharedPreferences对象,需要传入两个参数,第一个参数是文件名,第二个参数是操作模式,包括MODE_PRIVATE、MODE_WORLD_READABLE、MODE_WORLD_WRITABLE等。 ```java SharedPreferences sharedPreferences = getSharedPreferences("config", MODE_PRIVATE); ``` 2. 存储数据 可以通过SharedPreferences.Editor对象的putXXX()方法存储数据,其中XXX表示数据类型,例如putInt()、putString()等。需要注意的是,在调用commit()或apply()方法之前,所有的数据都只是存储在内存中,而不会写入文件。 ```java SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString("username", "Tom"); editor.putInt("age", 18); editor.apply(); ``` 3. 读取数据 可以通过SharedPreferences对象的getXXX()方法读取数据,其中XXX表示数据类型,例如getInt()、getString()等。如果读取的键不存在,那么会返回默认值。 ```java String username = sharedPreferences.getString("username", ""); int age = sharedPreferences.getInt("age", 0); ``` 4. 删除数据 可以通过SharedPreferences.Editor对象的remove()方法删除某个键值对,也可以通过clear()方法清空所有数据。需要注意的是,在调用commit()或apply()方法之前,所有的删除操作都只是存储在内存中,而不会写入文件。 ```java SharedPreferences.Editor editor = sharedPreferences.edit(); editor.remove("username"); editor.clear(); editor.apply(); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值