Android中SharedPerforences的简单使用示例 --Android基础
程序员文章站
2022-04-06 18:25:38
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState ......
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如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
上一篇: 光刻机又有“大消息”?这家公司喜提涨停后紧急澄清 已不是第一次
下一篇: 5月28日课程