使用SharedPrenference 存储数据类似ios 的偏好设置存储数据

适用范围:保存少量的数据,且这些数据的格式非常简单:字符串类型,基本类型的值。比如应用程序的各种配置信息(如是否打开音效、是否使用震动效果、小游戏的玩家积分等),解锁口令密码等。

核心原理:保存基于XML文件存储的key-value键值对数据,通常用来存储一些简单的配置信息。通过DDMS 的file explorer面板,展开文件浏览树,很明显sharepreferences数据总是存储在/data/data//shared_prefs目录下,sharedpreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过sharepreferences.edit(),sharepreferences本身是一个接口,程序无法直接创建sharedpreference实例,只能通过contenxt提供的getsharedprenferences(string name,int mode)方法来获取sharedprenferences实例,该方法中的name表示要操作的xml文件名,Editor有如下主要重要方法:

SharedPreferences.Editor clear():清空SharedPreferences里所有数据

SharedPreferences.Editor putXxx(String key , xxx value):向SharedPreferences存入指定key对应的数据,其中xxx可以是boolean,float,int等各种基本类型据

SharedPreferences.Editor remove():删除SharedPreferences中指定key对应的数据项

boolean commit():当Editor编辑完成后,使用该方法提交修改

示例:直接上代码哈,xml文件

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.data.cn.MainActivity" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="请输入密码口令" />

android:id="@+id/et"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

android:id="@+id/btnset"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="设置解锁口令"

/>

android:id="@+id/btnget"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="获取解锁口令"

/>

mainactivity中代码:

package com.data.cn;

import android.support.v7.app.ActionBarActivity;

import android.annotation.SuppressLint;

import android.content.Context;

import android.content.SharedPreferences;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

@SuppressLint("NewApi")

public class MainActivity extends ActionBarActivity {

private Button setBtn;

private Button getBtn;

private EditText edText;

private Context context;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

context = getBaseContext();

setBtn = (Button) findViewById(R.id.btnset);

getBtn = (Button) findViewById(R.id.btnget);

edText = (EditText) findViewById(R.id.et);

setBtn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

String password = edText.getText().toString().trim();

SharedPreferences.Editor editor = getSharedPreferences("lock", context.MODE_PRIVATE).edit();

editor.putString("password", password);

editor.commit();

}

});

getBtn.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

SharedPreferences read = getSharedPreferences("lock", context.MODE_PRIVATE);

String password = read.getString("password", "");

Toast.makeText(context, password, 12000).show();

}

});

}

}

运行结果:

android sharedpre,android 数据存储一SharedPrenference存储简单数据相关推荐

  1. Android本地存储键值对,flutter本地存储键值对简单数据(相当于web的localstorage) 代码实现...

    flutter中存储键值对简单数据(相当于前端localstorage概念) 首先需要安装一个官方推荐包: 1 dependencies: 2 flutter: 3 sdk: flutter 4 sh ...

  2. android sharedpre,Android SharedPreferences四种操作模式使用详解_Android_脚本之家

    Android  SharedPreferences详解 获取SharedPreferences的两种方式: 1 调用Context对象的getSharedPreferences()方法 2 调用Ac ...

  3. 第六章 大数据,6.1 双11数据大屏背后的实时计算处理(作者:藏六 黄晓锋 同杰)...

    6.1 双11数据大屏背后的实时计算处理 1. 双11数据大屏的实时计算架构 1.1 背景 2016年的双11我们的实时数据直播大屏有三大战场,它们分别是面向媒体的数据大屏.面向商家端的数据大屏.面向 ...

  4. Android数据持久化:文件存储

    数据持久化: 数据可分为瞬时数据和关键数据.保存在内存之中的数据是瞬时数据,而对于一些关键性数据,后期需要持续使用的,应当保存在存储设备中: 持久化保存方式: 文件存储.SharePreference ...

  5. android 读取内部存储文件格式,Android中的数据储存之文件存储

    当我们在使用各种程序时,其实际上是在和各种数据打交道,当我们聊QQ,刷微博,看新闻,其实都是在和里面的数据交互 例如在聊天时发出的消息,以及在登录时输入的账号密码,其实都是瞬时数据,那什么是瞬时数据呢 ...

  6. 【Android 文件管理】分区存储 ( 分区存储机制 和 文件索引数据 )

    文章目录 一.Android 10 以前的存储机制 二.Android 10 及以后的分区存储机制 三.Android 10 中的存储过渡方案 四.文件索引数据库 五.相关文档资料 一.Android ...

  7. Android数据存储之SharedPreferencesSave存储(保存数据,读取数据的操作)

    GitHub项目地址: https://github.com/Skymqq/SharedPreferencesSave.git 不同于文件的存储方式,SharedPreferences是使用键值对的方 ...

  8. Android数据存储之文件存储(瞬时数据的存储与读取)项目已上传GitHub

    GitHub地址: https://github.com/Skymqq/FileSave.git 数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然 ...

  9. Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (四) —— ContentProvider...

    ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制.一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制.并且此种方式忽略了底层的数据存储实现,Cont ...

最新文章

  1. MySQL 中的 FOUND_ROWS() 与 ROW_COUNT() 函数
  2. 计算机网络复习_物理层
  3. 两个特征是独立好还是正相关好_2021考研数学概率典型例题,都给你总结好啦!...
  4. HDU-4675 GCD of Sequence 数学
  5. 2011 ICM 美国数据建模赛题
  6. (77)FPGA时钟激励(always)
  7. idea debug异常关闭 Error running 'Tomcat8': Unable to open debugger port (127.0.0.1:50168): java.net.Soc
  8. 查询MySQL中某个数据库中有多少张表
  9. 再议Python协程——从yield到asyncio
  10. 51NOD 1181 质数中的质数(质数筛法)
  11. Javascript高级程序设计(一)
  12. U盘大容量存储设备 感叹号,错误10
  13. adb 通过WiFi连接小米8手机
  14. 【论文速读】【金融】Predicting stock and stock price index movement using ... and machine learning techniques
  15. 客户端设置超时,max_fails失效----问题分析
  16. 汇编语言六 报数出列设有n(设为17)个人围坐在圆桌周围,按顺时针给他们编号(1,2,~~~,n),从第1个人开始顺时针方向+1报数,当报数到m(设为11)时,该人出列
  17. 防火墙技术及应用(一)
  18. Mac Vmware
  19. wifi信息修改插件ios_iOS免越狱修改运营商信息/修改“应用图标标记”颜色
  20. Spring环绕通知Around

热门文章

  1. 【Spring】1、Spring 中的监听器 Listener
  2. 符号扩展和无符号扩展
  3. 使用Redis的理由
  4. 如何去学会黑客技术,黑客电脑技术学习必备知识
  5. 使用Sandcastle创建你的类库文档
  6. overflow encountered in ubyte_scalars像素加减运算溢出异常
  7. leetcode 1221 python
  8. 3位数反序数c语言,C语言求助!一个三位数的逆序数,总是编不对
  9. python绝对导入_[编程基础] Python中的绝对导入与相对导入
  10. MYSQL 5.7.26 二进制版本安装