zoukankan      html  css  js  c++  java
  • Android中SharedPerforences的简单使用示例 --Android基础

    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

  • 相关阅读:
    Java 第二题
    第6次作业--static关键字、对象
    20194643 自动生成四则运算第一版报告
    软件工程 第一次作业
    MySQL主从复制与读写分离原理
    垂直拆分、读写分离、水平拆分(分库分表)详解
    MySQL InnoDB 索引原理
    MySQL架构体系&SQL查询执行全过程解析
    最全MySQL锁详解:表/行/页锁、共享/排它锁、悲观/乐观锁等
    MySQL事务ACID与隔离级别详解
  • 原文地址:https://www.cnblogs.com/qikeyishu/p/9110023.html
Copyright © 2011-2022 走看看