当前位置: 移动技术网 > IT编程>移动开发>Android > Android中SharedPerforences的简单使用示例 --Android基础

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

2018年05月30日  | 移动技术网IT编程  | 我要评论

黄金海皇星,三人行网,2009金瓶梅

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

1、最终效果图

大致就是通过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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网