1.SharePrefences类介绍
SharedPreferences
类提供了一个通用框架,以便您能够保存和检索原始数据类型的永久性键值对。 您可以使用 SharedPreferences
来保存任何原始数据:布尔值、浮点值、整型值、长整型和字符串。 此数据将跨多个用户会话永久保留(即使您的应用已终止亦如此)。
文件存储位置://文件存放地址 //data/data/包名/shared_pres
2.使用方法
3.xml布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="horizontal"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="请输入存储的数据:" /> <EditText android:id="@+id/editText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ems="10" android:inputType="textPersonName" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_horizontal" android:orientation="horizontal"> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="存储" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="读取" /> </LinearLayout> <TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout>
4.java后台
package com.lucky.test45sharedpreferences; 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; public class MainActivity extends AppCompatActivity { EditText editText1; TextView textView2; Button button1; Button button2; SharedPreferences sharedPreferences; SharedPreferences.Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText1=findViewById(R.id.editText); textView2=findViewById(R.id.textView2); button1=findViewById(R.id.button); button2=findViewById(R.id.button2); //1.获取SharedPreferences实例,去保存数据,参数1为生成的xml文件的名称,参数2是文件的模式 sharedPreferences=getSharedPreferences("lucky",MODE_WORLD_WRITEABLE); //初始化SharedPreferences editor=sharedPreferences.edit(); //2.获取编辑器 button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { editor.putString("001",editText1.getText().toString()); //3.放入所需存储的数据 editor.commit(); //4.提交数据 } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String str=sharedPreferences.getString("001",""); //读取数据,参数1为数据代号,参数2为默认值 textView2.setText(str); } }); } }
5.效果图
动态1为:app效果图,动态2为:SharedPreferences存储的位置
存储内容的XML文件截图: