1.什么是SharePreferences
SharePreferences是安卓平台上的一个轻量级存储类,用来存储少量数据时简单、便捷(如记住密码)。
SharePreferences以键值对形式存储数据。
SharePreferences的存储位置在/data/data/<包名>/sharedprefs目录下
SharePreferences保存数据以XML存储。
2.如何使用SharePreferences

获得使用SharePreferences对象;

获得Editor对象;

通过Editor对象的putXXX函数,设置写入数据;

通过Editor对象的commit()提交写入
3.使用SharePreferences记住密码实例
在主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:orientation="vertical"android:layout_height="match_parent"tools:context="com.example.ll.storeapplication.MainActivity"><EditTextandroid:hint="输入账号"android:id="@+id/zhet"android:layout_width="match_parent"android:layout_height="50dp" /><EditTextandroid:password="true"android:hint="输入密码"android:id="@+id/mimaet"android:layout_width="match_parent"android:layout_height="50dp" /><LinearLayoutandroid:orientation="horizontal"android:layout_width="match_parent"android:layout_height="50dp">
<CheckBoxandroid:id="@+id/cb"android:layout_gravity="center"android:layout_width="30dp"android:layout_height="30dp" /><TextViewandroid:gravity="center"android:id="@+id/jizhumim"android:text="记住密码"android:textSize="20sp"android:layout_width="150dp"android:layout_height="50dp" /><Buttonandroid:id="@+id/denlu"android:text="登陆"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>
</LinearLayout>

然后MainActivity编写主要代码,如下:

package com.example.ll.storeapplication;
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.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {private EditText mimaet;private EditText zhet;private CheckBox ck;private TextView tv;private Button btn;private int rember = 0;private String password;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//绑定IdBindId();//从sharedPreferences文件(mysp.xml)中取出“name”节点对应的值SharedPreferences preferences = getSharedPreferences("mysp.xml", MODE_PRIVATE);//如果文件存不存在,进行节点赋值if (preferences != null) {String name = preferences.getString("name", "");password = preferences.getString("password", "");rember=preferences.getInt("rember",0);//赋值给zhetzhet.setText(name);}//如果记住密码,那么勾选记住密码的勾一直存在if (rember == 1) {ck.setChecked(true);mimaet.setText(password);//密码也被一直记住}//对btn设置监听事件btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {String username = zhet.getText().toString();String password = mimaet.getText().toString();//1.创建SharedPreferences对象SharedPreferences sharedPreferences = getSharedPreferences("mysp.xml", MODE_PRIVATE);//2.创建Editor 对象,写入值SharedPreferences.Editor editor = sharedPreferences.edit();editor.putString("name", username);//判断是否记住密码if (ck.isChecked()) {  rember = 1;//再次点进时密码存在editor.putInt("rember", rember);editor.putString("password", password);}else {rember=0;//再次点进时密码不存在editor.putInt("rember", rember);}//3.提交editor.commit();//4.打印日志Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_SHORT).show();}});}private void BindId() {mimaet = findViewById(R.id.mimaet);zhet = findViewById(R.id.zhet);ck = findViewById(R.id.cb);tv = findViewById(R.id.jizhumim);btn = findViewById(R.id.denlu);}
}

安卓SharePreferences数据存储相关推荐

  1. Android数据存储之文件存储

    -- 大家都知道,数据和算法是一个应用程序的核心.所以,学好数据存储是非常有必要的. --Android数据的存储有多种方式,比如ContentProvider(内容提供者).SQLite(嵌入式数据 ...

  2. 安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式

    ​ 安卓开发之数据存储在本地的四种方式 本地数据存储,在安卓开发过程中是不可避免的一个话题.这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据. 基本上我们有 ...

  3. 广东东软学院安卓实验报告三:“数据存储”

    广东东软学院安卓实验报告三:"数据存储" Android schoolwork entertainment app: imitating wechat Software tips: ...

  4. 安卓数据存储的5种方式

    SharedPreferences: ①使用键值对的方式进行数据存储(以xml文件形式存储到手机中) ②常用与保存用户设置,如CheckBox选择状态.配置信息等 注: ①commit发生在UI主线程 ...

  5. 安卓学习 之 数据存储(六)

    一.文件存储 写入文件 openFileOutput将数据存储到指定的文件当中去.第一个是文件名,第二个是文件的操作模式,MODE_PRIVATE为默认,会覆盖之前内容,MODE_APPEND会追加内 ...

  6. android数据存储心得,android学习心得 轻量级存储SharePreferences

    SharedPreferences是Android中存储简单数据的一个工具类.可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型(boolean.int.float.long和St ...

  7. 安卓高效开发:联系人数据存储与操作基本

    前段时间项目中使用到了与联系人模块的相关操作,研究了一点皮毛,抽空整理了一下,把相关操作写成了个库项目,主要为了复用,由于有base项目做参考,没有使用数据库批量操作的方法,闲言少叙,进正题~ 联系人 ...

  8. 安卓---第5章 数据存储---保存QQ账号与密码

    文章目录 案例1: 使用文件存储 保存QQ账号与密码 功能描述 saveqq_1.xml FileSaveQQ.java saveqq_1 案例2 使用SP保存QQ账号与密码 功能描述 SPSaveQ ...

  9. 安卓之SharedPreferences存储

    SharedPreferences存储 首先关于安卓存储我们在这里介绍一下: 持久化技术介绍: 数据持久化就是指将那些内存中瞬间数据保存到存储设备中,保证即使手机或电脑关机的情况下,这些数据仍然不会丢 ...

最新文章

  1. ARM CPU自动调度神经网络
  2. WebService教程和分析
  3. With在sql server 2005中的用法
  4. easyui select 下拉框的取值和赋值
  5. jsapi支付签名_微信支付小程序支付全流程
  6. 只能由中文、字母、数字、下划线组成的字符串
  7. 大数据的价值体现有哪些
  8. c#检查SQL语法是否正确,不执行SQL语句
  9. 理解 Android 本地数据存储 API
  10. 金蝶K3物料主数据计划策略字段设置
  11. oracle数据库greatest函数,ORACLE函数之GREATEST函数详解范例
  12. tif转换成jpg格式
  13. Cheat Engine(CE)的下载和安装指南以及相关教程
  14. Android一点 play商店地区与语言设置
  15. LoadRunner测试工具大全下载,破解,licence
  16. 云视频+AI,他如何做到一年200万用户?
  17. android 继承类图,Android Studio中绘制UML类图介绍
  18. Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解
  19. 分而治之,保持胜利果实
  20. 招商银行专业版出现重大安全问题?

热门文章

  1. 1G,2G,3G,4G,5G有什么区别?5G的优势在哪?有什么应用?
  2. 前端面试题之NodeJS系列
  3. STOP: c000021a { Fatal System Error } the initial session process or system process terminated ...
  4. Android线性与相对布局
  5. asp心得感受_半年多来自学ASP的几点体会……
  6. Kubernetes:Pod
  7. 3.使用GSYVideoPlayer实现仿抖音视频播放以及点赞飘心效果
  8. ureport使用问题总结
  9. UDP协议转换TCP协议
  10. visio 画 弯曲 箭头 ( 波浪线 曲线)