1.SharedPreference它保存的数据主要是简单类型的key-value对,主要用来保存数据量不大的情况。

2.下面示例是通过一按钮来读取数据,一个用来写入数据,用来示范sharedpreferences的写入和读取操作。

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:orientation="horizontal"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center_horizontal"tools:context="com.dragon.testevent.MainActivity"><Button
    android:id="@+id/write"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/write"/><Button
     android:id="@+id/read"android:text="@string/read"android:layout_width="wrap_content"android:layout_height="wrap_content" />
</LinearLayout>

strings.xml

<resources><string name="app_name">SharedPreferencesTest</string><string name="write">写入数据</string><string name="read">读取数据</string>
</resources>

MainActivity.java

package com.dragon.testevent;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends Activity
{SharedPreferences preferences;SharedPreferences.Editor editor;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);preferences = getSharedPreferences("dragon",MODE_PRIVATE);editor =  preferences.edit();Button read = (Button) findViewById(R.id.read);Button write = (Button) findViewById(R.id.write);read.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View arg0){String time = preferences.getString("time",null);int randNum = preferences.getInt("random",0);String result = time ==null?"暂时还未写入数据" : "写入时间为:"+time+"\n上次生成的随机数为:"+randNum;Toast.makeText(MainActivity.this,result, Toast.LENGTH_SHORT).show();}});write.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View arg0){SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"+"hh: mm:ss");editor.putString("time",sdf.format(new Date()));editor.putInt("random",(int)(Math.random()*100));editor.commit();}});}
}

下面有一个问题:关于SharedPreferences数据文件的保存路径问题,网上很多人说是在DDMS的File Explorer面板中,数据是保存在/data/data/ < package name>/shared_prefs目录下,但本人未找到,如有知道的朋友请在下面留言告诉下,有人说是root权限问题,经测试,root后一样找不这个数据的保存目录和文件。

android studio for android learning (十四) android的数据的存储sharedPreferences相关推荐

  1. 第33篇 Android Studio实现五子棋游戏(四)棋子类和主类

    第33篇 Android Studio实现五子棋游戏(四)棋子类和主类 1.棋子类 2.主类 2.1.变量 2.2.重写方法 2.3.代码 3.效果 3.1.进去界面 3.2.赢棋 3.3.提示 3. ...

  2. Android studio中NDK开发(四)——使用addr2line分析Crash日志 backtrace

    文章目录 一.前言 二.分析 1.先提取backtrace部分 2.提取对应so库的信息 3.提取错误地址 三.使用addr2line对地址进行转换 1.addr2line工具的路径放在 2.Term ...

  3. 用较新版本的Android Studio Chipmunk编译旧版本的Android 21的Sample

    技术发展这么快,经常遇到需要使用新版本的Android Studio来开发运行旧的Android工程,此时需要处理gradle兼容的问题 问题一.Could not install Gradle di ...

  4. access中的android sdk,Android Studio报错unable to access android sdk add-on list解决方案

    一.问题 初次安装Android Studio,启动后,报错如下: unable to access android sdk add-on lis 如图: 二.原因 AS启动后,会在默认路径下检测是否 ...

  5. android studio device功能,Android Studio 3.0找不到Android Device Monitor

    因为自Android Studio 3.0开始弃用Android Device Monitor,Android Developers官网上的原话是: Android Device Monitor is ...

  6. Android Studio同步失败设置代理,Android Studio如何设置代理?

    由于使用Android Studio期间,很多时候都要访问谷歌官方服务器,但是由于一些其他原因,会导致连接不上或者速度很慢,那就需要我们设置一下国内的镜像代理了.下面,让我们一起来看看Android ...

  7. android studio占内存大小,极大精简android studio在C盘的内存

    在C盘占很大的内存大约就2种原因: 1.SDK占内存太大 2.AVD模拟器占内存太大 第一种情况,移动SDK(用android studio不需要配置环境变量) 先移动C盘的Android目录,里面是 ...

  8. Android开发中遇到的问题(四)——Android中WARNING: Application does not specify an API level requirement!的解决方法

    Android开发中遇到的问题(四)--Android中WARNING: Application does not specify an API level requirement!的解决方法 参考文 ...

  9. (转)Android Studio Error:Failed to resolve: com.android.support:appcompat-v7:25.1.0解决方案

    (转)Android Studio Error:Failed to resolve: com.android.support:appcompat-v7:25.1.0解决方案 参考文章: (1)(转)A ...

  10. 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。

    关于Android Studio单元测试中"Method d in android.util.Log not mocked."问题的解决. 点开链接 这就是解决方案.(这主要是由于 ...

最新文章

  1. Mybatis Interceptor 讲解
  2. angularJS新增 品优购新增品牌
  3. Linux dd命令制作U盘启动盘
  4. [机器学习] LightGBM on Spark (MMLSpark) 使用完全手册
  5. Android自带Monkey测试
  6. 下班理财超过上班赚钱
  7. mac系统升级 brew 是用不了_PostgreSQL数据库默默升级,导致数据库服务不可用
  8. solidity return data和revert/require的reason string的获得
  9. SEO高级|移动站搭建
  10. 163邮箱注册及授权密码开通
  11. Flask-SQLAlchemy的使用(详解)
  12. 人工智能在物流行业的发展与应用
  13. 高项47个过程及输入、输出、工具解释
  14. linux判断三个数大小程序,几个shell程序设计小知识(shell常识部分)
  15. 几行代码让qq机器人关键词检测,让机器人也可以又哭又笑,戳一戳你
  16. spring编程式和声明式事务控制
  17. 一起学习用Verilog在FPGA上实现CNN----(三)激活层设计
  18. VM15: 该主机cpu类型不支持虚拟化性能计数器,开启模块VPMC的操作失败,未能启动虚拟机.
  19. 第16节 综合实验——在域中配置HDCP、WEB服务器及共享文件服务器(待完善)
  20. 神奇的伽玛函数(上) | 数学之美

热门文章

  1. hdu 2295(DLX+二分)
  2. 杀软自己做 编写autorun病毒免疫工具
  3. python调用接口获取文件_Python中做接口自动化如何读取配置ini文件
  4. 烈火如歌手游找回服务器,《烈火如歌》05月02日新服公告:侠肝义胆
  5. NYOJ 643 发短信(模拟)
  6. nyoj 122 Triangular Sums
  7. 计算机关机怎么关机,电脑关机命令,电脑关机命令怎么使用?
  8. 【算法笔记】逆元的求解
  9. 【hdu3501】求[1,n-1]与n不互质的所有数之和(单个欧拉函数求法+[1,n]和n互质的数之和公式----模版题)
  10. 在C++上利用onnxruntime (CUDA)和 opencv 部署模型onnx