为了保存软件的设置参数,Android平台为我们提供了一个SharedPreferences接口,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。

SharedPreferences共有四种操作模式,这四种模式代表的含义为:

Context.MODE_PRIVATE    =  0

Context.MODE_APPEND    =  32768

Context.MODE_WORLD_READABLE =  1

Context.MODE_WORLD_WRITEABLE =  2

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND

Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。

MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在android中用sharedPreference保存信息,可用来页面之间的传值,对信息的调用。

代码:(保存账号,密码,年龄,性别等信息)

public class MySharedPreferences {
public static SharedPreferences share(Context context){
SharedPreferences sharedPreferences = context.getSharedPreferences("date", Context.MODE_PRIVATE);
return sharedPreferences;
} //name 账号
//调用上面的 share(Context context) 方法 获取标识为 "name" 的数据
public static Object getName(Context context){
return share(context).getString("name",null);
}
//调用上面的 share(Context context) 方法 将数据存入,并标识为 "name"
//使用 commit() 方法保存会给出反应(保存成功或失败)
public static boolean setName(String name, Context context){
SharedPreferences.Editor e = share(context).edit();
e.putString("name",name);
Boolean bool = e.commit();
return bool;
} //pswd 密码
public static String getPswd(Context context){
return share(context).getString("pswd",null);
}
//这里使用的是 apply() 方法保存,将不会有返回值
public static void setPswd(String pswd, Context context){
SharedPreferences.Editor e = share(context).edit();
e.putString("pswd",pswd);
e.apply();
} /**
* 可以根据需求选择用那种方式保存数据
* (需不需要告诉你有没有保存成功)
*/ //sex 性别
public static String getSex(Context context){
return share(context).getString("sex",null);
}
public static void setSex(String sex, Context context){
SharedPreferences.Editor e = share(context).edit();
e.putString("sex",sex);
e.apply();
} //age 年龄
public static String getAge(Context context){
return share(context).getString("age",null);
}
public static void setAge(String age, Context context){
SharedPreferences.Editor e = share(context).edit();
e.putString("age",age);
e.apply();
}
}

3.8学习总结——Android保存信息的更多相关文章

  1. Android+Jquery Mobile学习系列(6)-个人信息设置

    本节开始,进行代码的实战练习.我的这个App是管理保险客户信息的,数据采用Sqlite存储在本地手机上,第一次使用需要先登记自己的个人信息,这个功能非常简单,也无关紧要,我是拿这个练手,方便做后面复杂 ...

  2. 【Mood-11】值得学习的国内外Android开发者信息

    国内 Android 开发者信息: 昵称 GitHub 博客 介绍 罗升阳   Luoshengyang@csdn Android 源码分析 邓凡平   innost@csdn 阿拉神农 魏祝林   ...

  3. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  4. [android] 保存文件到手机内存

    /*****************2016年5月4日 更新*******************************/ 知乎:Android 没有沙盒保护机制吗,WhatsApp 信息为何可被随 ...

  5. Mina框架的学习笔记——Android客户端的实现

    Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...

  6. 保留全部Android crash信息

    保留全部Android crash信息 framework/base/core/java/com/android/internal/os/RuntimeInit.java 又一次以下这个函数,增加自己 ...

  7. 传智播客学习之Android运行原理 (转)

    传智播客学习之Android运行原理 (2010-03-20 22:45:15) 转载▼ 今天终于忙里偷闲,和大家探讨一下android技术,第一次听到3G应该追溯到大学三年级的时候了,记得当时现代通 ...

  8. ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等) ZT

    http://www.cnblogs.com/ranran/p/4065619.html http://www.cnblogs.com/jxlsomnus/p/4450911.html 以下是关于AS ...

  9. [原]零基础学习在Android进行SDL开发系列文章

    [原]零基础学习SDL开发之移植SDL2.0到Android [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图 [原]零基础学习SDL开发之在Android使用SDL2.0显示 ...

随机推荐

  1. JavaGUI三种布局管理器FlowLayout,BorderLayout,GridLayout的使用

    三种布局管理器 流式布局FlowLayout package GUI; import java.awt.*; import java.awt.event.WindowAdapter; import j ...

  2. Git-03-工作区和暂存区

    工作区和暂存区的概念 工作区 工作区:就是电脑里能看到的目录,如现在学习的目录github 暂存区 版本库:工作区内有一个隐藏目录 .git,这个叫做版本库 git版本库中有一个重要的区叫做暂存区(i ...

  3. Linux下库的制作(静态库与共享库)

    库中实际上就是已编译好的函数代码,可以被程序直接调用. Linux下的库一般的位置在/lib或者/usr/lib中 静态库 静态库是复制拷贝到调用函数中的,函数运行的时候不再需要静态库,因为静态库是在 ...

  4. SpringBoot整合SpringBatch

    一.引入依赖 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q ...

  5. Spring boot集成Redis实现sessions共享时,sessions过期时间问题分析

    Springboot鼓励零配置的方式,帮你做好大部分重复劳动的事,好到不能再好:具体的Redis安装方法和Springboot集成Redis方法,可以去搜索相关文章或参考该文章http://www.c ...

  6. C# 中的异步问题 Task

    public class SharedData { public int Value { get; set; } } public class Test { async Task ModifyValu ...

  7. 【springcloud】配置中心(Config-Server)

    转自:https://blog.csdn.net/pengjunlee/article/details/88061736 参考文章 Spring Cloud 配置中心为分布式系统中的服务器端和客户端提 ...

  8. Python环境变量配置

    第一步:下载Python安装包 在Python的官网 www.python.org 中找到最新版本的Python安装包,点击进行下载,请注意,当你的电脑是32位的机器,请选择32位的安装包,如果是64 ...

  9. Ztree 树插件 树节点名称太长的解决方案

    样式允许的情况下 给背景div加滚动条.. 或者使用省略号方法:使用addDiyDom   http://blog.csdn.net/zhengbo0/article/details/17759543 ...

  10. VS code快速创建vue模板

    忘记了.vue文件的格式或者不想手动敲那段模板代码怎么办?VS code快速创建vue模板帮你偷个小懒 第一步:新建模板并保存 打开 VS code,依次点击 file > Preference ...