SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据。

实现SharedPreferences存储的步骤如下:

(1)获取SharedPreferences对象

(2)利用edit()方法获取Editor对象。

(3)通过Editor对象存储key-value键值对数据。

(4)通过commit()方法提交数据。

实现代码:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存SharedPreferences对象数据" /> <Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读取SharedPreferences对象数据" /> </LinearLayout>
 package com.example.sharedpreferencesdemo;

 import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity { private Button btnsava;
private Button btnread; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btnsava = (Button) findViewById(R.id.btn1);
btnread = (Button) findViewById(R.id.btn2); btnsava.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
// 实例化SharedPreferences对象(第一步)
SharedPreferences mySharedPreferences = getSharedPreferences(
"test", Activity.MODE_PRIVATE); // 实例化SharedPreferences.Editor对象(第二步)
SharedPreferences.Editor editor = mySharedPreferences.edit(); // 用putString的方法保存数据
editor.putString("name", "pig");
editor.putString("habit", "sleep"); // 提交当前数据
editor.commit();
// 使用toast信息提示框提示成功写入数据
Toast.makeText(getApplicationContext(),
"数据成功写入SharedPreferences!", Toast.LENGTH_LONG).show(); }
}); btnread.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences(
"test", Activity.MODE_PRIVATE); // 使用getString方法获得value,注意第2个参数是value的默认值
String name = sharedPreferences.getString("name", "");
String habit = sharedPreferences.getString("habit", ""); // 使用toast信息提示框显示信息
Toast.makeText(
getApplicationContext(),
"读取数据如下:" + "\n" + "name:" + name + "\n" + "habit:"
+ habit, Toast.LENGTH_LONG).show(); }
});
}
}

SharedPreferences将会把这些数据保存在test.xml文件中,可以在手机内存(部分手机要root)/data/data/<package name>/shared_prefs目录下看到.

运行效果:

    

18.Android之SharedPreferences数据存储学习的更多相关文章

  1. Android之SharedPreferences数据存储

    一.SharedPreferences保存数据介绍 如果有想要保存的相对较小键值集合,应使用SharedPreferences API.SharedPreferences对象指向包含键值对的文件并提供 ...

  2. Android 使用SharedPreferences数据存储

    自己写了个SP辅助类 尽管写的有点啰嗦,也是自己的成果.例如以下: package com.yqy.yqy_testsputil; import android.annotation.Suppress ...

  3. 67.Android中的数据存储总结

    转载:http://mp.weixin.qq.com/s?__biz=MzIzMjE1Njg4Mw==&mid=2650117688&idx=1&sn=d6c73f9f04d0 ...

  4. Android Learning:数据存储方案归纳与总结

    前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几 ...

  5. Android中的数据存储(二):文件存储 2017-05-25 08:16 35人阅读 评论(0) 收藏

    文件存储 这是本人(菜鸟)学习android数据存储时接触的有关文件存储的知识以及本人自己写的简单地demo,为初学者学习和使用文件存储提供一些帮助.. 如果有需要查看SharedPreference ...

  6. Android中的数据存储

    Android中的数据存储主要分为三种基本方法: 1.利用shared preferences存储一些轻量级的键值对数据. 2.传统文件系统. 3.利用SQLite的数据库管理系统. 对SharedP ...

  7. Android五种数据存储方式

    android 五种数据存储 :SharePreferences.SQLite.Contert Provider.File.网络存储 Android系统提供了四种存储数据方式.分别为:SharePre ...

  8. Android下的数据存储与訪问 --- 以文件的形式

    Android下的数据存储与訪问 --- 以文件的形式 1.1 储存文件存放在手机内存中: // *** 储存数据到 /data/data/包名/files/jxn.txt文件里 String dat ...

  9. Android——几种数据存储应用浅谈

    (1)android中的数据存储主要有五种方式: 第一种.sharedPreferences存储数据, 适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配 ...

随机推荐

  1. UVALive 6255 Kingdoms --状态搜索

    题意:n个国家,给出国家间相互的债务关系,每个国家如果债务>收入就要破产,破产后该国的所有债务关系全部清除,第一个破产的国家不同有可能造成最后的没破产的国家的不同,问哪些国家有可能成为独自存活的 ...

  2. [原创]gerrit上分支操作记录(创建分支、删除分支)

    Git分支对于一个项目的代码管理而言,是十分重要的! 许多久用git的朋友可能已经掌握的很牢固了,但对于一些初涉git的童鞋来说,可能还不是很熟悉. 在此,我将自己的一些操作经历做一梳理,希望能帮助到 ...

  3. windows phone 8.0 app 移植到windows10 app 页面类

    phone:PhoneApplicationPage    全部替换为Page phone:WebBrowser               全部替换为   WebView IsScriptEnabl ...

  4. K2与OData和Swagger的集成

    最近K2陆续发布了一些好消息,从与Box的集成到今年取得的融资.这儿还有一个:K2近期宣布获得了DData和Swagger REST的支持,保障K2 Appit和Blackpearl的用户能建立基于工 ...

  5. [tomcat7源码学习]初始化之catalina.home和catalina.base(转)

    我们在代码中为了获取某个配置文件路径下的文件经常会这么写 String tomcatPath = System.getProperty("catalina.home") + &qu ...

  6. pandas 透视表 pivot_table

    The function pandas.pivot_table can be used to create spreadsheet-style pivot tables. It takes a num ...

  7. Linux下的MySQL简单操作(服务启动与关闭、启动与关闭、查看版本)

    小弟今天记录一下在Linux系统下面的MySQL的简单使用,如下: 服务启动与关闭 启动与关闭 查看版本 环境 Linux版本:centeros 6.6(下面演示),Ubuntu 12.04(参见文章 ...

  8. Linux下目录的合并以及文件的覆盖

    有两个目录test和new,test目录下有目录和文件,new目录下有更改过的一些test下的目录和文件,以及一些新增的文件,现在对两个目录进行合并以及覆盖test下的旧文件. cp -frap ne ...

  9. 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验

    20145303 20145339 <信息安全系统设计基础> 实验五 简单嵌入式WEB服务器实验 实验目的与要求 1.掌握在ARM开发板实现一个简单WEB服务器的过程 2.学习在ARM开发 ...

  10. 数据结构之链表、栈和队列 java代码实现

    定义抽象节点类Node: package cn.wzbrilliant.datastructure; /** * 节点 * @author ice * */ public abstract class ...