欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android中SharedPerforences的简单使用示例 --Android基础

程序员文章站 2022-04-06 18:25:38
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState ......

SharedPreferencesAndroid平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出……。下面通过一个小小的案例,分享一下我之前做的。

1、最终效果图

Android中SharedPerforences的简单使用示例  --Android基础

大致就是通过SharedPreferences存储类创建一个配置文件(这里是通过按钮去触发的),然后向配置文件中写入配置信息,最后就是读配置中“键”对应的“值”(这里通过按钮触发将读到的值显示出来)。还是比较简单,很容易的。

2、布局文件

activity_main.xml:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:app="http://schemas.android.com/apk/res-auto"
 4     xmlns:tools="http://schemas.android.com/tools"
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     tools:context="thonlon.example.cn.sharedpreferencesdemo.MainActivity">
 8 
 9     <Button
10         android:id="@+id/btn_create"
11         android:layout_width="396dp"
12         android:layout_height="46dp"
13         android:text="@string/btn_create_sp"
14         app:layout_constraintBottom_toBottomOf="parent"
15         app:layout_constraintLeft_toLeftOf="parent"
16         app:layout_constraintRight_toRightOf="parent"
17         app:layout_constraintTop_toTopOf="parent"
18         app:layout_constraintVertical_bias="0.0" />
19 
20     <Button
21         android:id="@+id/btn_getInfo"
22         android:layout_width="396dp"
23         android:layout_height="46dp"
24         android:layout_marginLeft="0dp"
25         android:text="@string/btn_getInfo_sp"
26         app:layout_constraintBottom_toBottomOf="parent"
27         app:layout_constraintLeft_toLeftOf="parent"
28         app:layout_constraintRight_toRightOf="parent"
29         app:layout_constraintTop_toTopOf="parent"
30         app:layout_constraintVertical_bias="0.1" />
31 
32     <TextView
33         android:id="@+id/textView1"
34         android:layout_width="80dp"
35         android:layout_height="20dp"
36         android:background="@color/colorPrimary"
37         android:text="英文显示:"
38         android:textAlignment="center"
39         android:textColor="@color/colorWhite"
40         app:layout_constraintBottom_toBottomOf="parent"
41         app:layout_constraintHorizontal_bias="0.0"
42         app:layout_constraintLeft_toLeftOf="parent"
43         app:layout_constraintRight_toRightOf="parent"
44         app:layout_constraintTop_toTopOf="parent"
45         app:layout_constraintVertical_bias="0.465" />
46 
47     <TextView
48         android:id="@+id/textView2"
49         android:layout_width="80dp"
50         android:layout_height="20dp"
51         android:background="@color/colorPrimary"
52         android:text="中文显示:"
53         android:textAlignment="center"
54         android:textColor="@color/colorWhite"
55         app:layout_constraintBottom_toBottomOf="parent"
56         app:layout_constraintHorizontal_bias="0"
57         app:layout_constraintLeft_toLeftOf="parent"
58         app:layout_constraintRight_toRightOf="parent"
59         app:layout_constraintTop_toTopOf="parent"
60         app:layout_constraintVertical_bias="0.205" />
61 
62     <TextView
63         android:id="@+id/tv1"
64         android:layout_width="wrap_content"
65         android:layout_height="wrap_content"
66         app:layout_constraintBottom_toBottomOf="parent"
67         app:layout_constraintHorizontal_bias="0.0"
68         app:layout_constraintLeft_toLeftOf="parent"
69         app:layout_constraintRight_toRightOf="parent"
70         app:layout_constraintTop_toTopOf="parent"
71         app:layout_constraintVertical_bias="0.244" />
72 
73     <TextView
74         android:id="@+id/tv2"
75         android:layout_width="wrap_content"
76         android:layout_height="wrap_content"
77         app:layout_constraintBottom_toBottomOf="parent"
78         app:layout_constraintHorizontal_bias="0.0"
79         app:layout_constraintLeft_toLeftOf="parent"
80         app:layout_constraintRight_toRightOf="parent"
81         app:layout_constraintTop_toTopOf="parent"
82         app:layout_constraintVertical_bias="0.53" />
83 </android.support.constraint.ConstraintLayout>

3、activity文件

MainActivity.java

 1 package thonlon.example.cn.sharedpreferencesdemo;
 2 
 3 import android.content.SharedPreferences;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.widget.Button;
 8 import android.widget.TextView;
 9 import android.widget.Toast;
10 
11 public class MainActivity extends AppCompatActivity {
12 
13     private SharedPreferences sharedPreferences;
14     private Button btn_create, btn_getInfo;
15     private TextView textView1, textView2;
16 
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_main);
21         btn_create = (Button) findViewById(R.id.btn_create);
22         btn_getInfo = (Button) findViewById(R.id.btn_getInfo);
23         textView1 = (TextView) findViewById(R.id.tv1);
24         textView2 = (TextView) findViewById(R.id.tv2);
25 //        设置配置文件的名称和配置文件的被访问权限
26         sharedPreferences = getSharedPreferences("config", MODE_ENABLE_WRITE_AHEAD_LOGGING);
27         btn_create.setOnClickListener(new View.OnClickListener() {
28             @Override
29             public void onClick(View view) {
30                 write();
31             }
32 
33             private void write() {
34                 //得到配置编辑器
35                 SharedPreferences.Editor edit = sharedPreferences.edit();
36                 //写入配置信息到配置文件中
37                 edit.putString("Chinese", "SharedPreferences是Android平台上一个轻量级的存储类。");
38                 edit.putString("English", "SharedPreferences is a lightweight storage class on the Android platform to save some of the common configuration of the application.");
39                 //注意以上只是将配置信息写入了内存
40                 edit.commit();//提交内存配置信息到本地
41                 Toast.makeText(getApplicationContext(), "成功创建文件", Toast.LENGTH_LONG).show();
42             }
43         });
44         btn_getInfo.setOnClickListener(new View.OnClickListener() {
45             @Override
46             public void onClick(View view) {
47                 read();
48             }
49 
50             private void read() {
51                 String chinese_info = sharedPreferences.getString("Chinese", "");
52                 String english_info = sharedPreferences.getString("English", "");
53                 textView1.setText(chinese_info);
54                 textView2.setText(english_info);
55             }
56         });
57     }
58 }

4、源码下载

 百度云下载链接:https://pan.baidu.com/s/1PRY5fdlAt5ZSl05NGniWrw 密码:tpr0