android studio for android learning (十四) android的数据的存储sharedPreferences
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相关推荐
- 第33篇 Android Studio实现五子棋游戏(四)棋子类和主类
第33篇 Android Studio实现五子棋游戏(四)棋子类和主类 1.棋子类 2.主类 2.1.变量 2.2.重写方法 2.3.代码 3.效果 3.1.进去界面 3.2.赢棋 3.3.提示 3. ...
- Android studio中NDK开发(四)——使用addr2line分析Crash日志 backtrace
文章目录 一.前言 二.分析 1.先提取backtrace部分 2.提取对应so库的信息 3.提取错误地址 三.使用addr2line对地址进行转换 1.addr2line工具的路径放在 2.Term ...
- 用较新版本的Android Studio Chipmunk编译旧版本的Android 21的Sample
技术发展这么快,经常遇到需要使用新版本的Android Studio来开发运行旧的Android工程,此时需要处理gradle兼容的问题 问题一.Could not install Gradle di ...
- access中的android sdk,Android Studio报错unable to access android sdk add-on list解决方案
一.问题 初次安装Android Studio,启动后,报错如下: unable to access android sdk add-on lis 如图: 二.原因 AS启动后,会在默认路径下检测是否 ...
- android studio device功能,Android Studio 3.0找不到Android Device Monitor
因为自Android Studio 3.0开始弃用Android Device Monitor,Android Developers官网上的原话是: Android Device Monitor is ...
- Android Studio同步失败设置代理,Android Studio如何设置代理?
由于使用Android Studio期间,很多时候都要访问谷歌官方服务器,但是由于一些其他原因,会导致连接不上或者速度很慢,那就需要我们设置一下国内的镜像代理了.下面,让我们一起来看看Android ...
- android studio占内存大小,极大精简android studio在C盘的内存
在C盘占很大的内存大约就2种原因: 1.SDK占内存太大 2.AVD模拟器占内存太大 第一种情况,移动SDK(用android studio不需要配置环境变量) 先移动C盘的Android目录,里面是 ...
- Android开发中遇到的问题(四)——Android中WARNING: Application does not specify an API level requirement!的解决方法
Android开发中遇到的问题(四)--Android中WARNING: Application does not specify an API level requirement!的解决方法 参考文 ...
- (转)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 ...
- 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。
关于Android Studio单元测试中"Method d in android.util.Log not mocked."问题的解决. 点开链接 这就是解决方案.(这主要是由于 ...
最新文章
- Mybatis Interceptor 讲解
- angularJS新增 品优购新增品牌
- Linux dd命令制作U盘启动盘
- [机器学习] LightGBM on Spark (MMLSpark) 使用完全手册
- Android自带Monkey测试
- 下班理财超过上班赚钱
- mac系统升级 brew 是用不了_PostgreSQL数据库默默升级,导致数据库服务不可用
- solidity return data和revert/require的reason string的获得
- SEO高级|移动站搭建
- 163邮箱注册及授权密码开通
- Flask-SQLAlchemy的使用(详解)
- 人工智能在物流行业的发展与应用
- 高项47个过程及输入、输出、工具解释
- linux判断三个数大小程序,几个shell程序设计小知识(shell常识部分)
- 几行代码让qq机器人关键词检测,让机器人也可以又哭又笑,戳一戳你
- spring编程式和声明式事务控制
- 一起学习用Verilog在FPGA上实现CNN----(三)激活层设计
- VM15: 该主机cpu类型不支持虚拟化性能计数器,开启模块VPMC的操作失败,未能启动虚拟机.
- 第16节 综合实验——在域中配置HDCP、WEB服务器及共享文件服务器(待完善)
- 神奇的伽玛函数(上) | 数学之美
热门文章
- hdu 2295(DLX+二分)
- 杀软自己做 编写autorun病毒免疫工具
- python调用接口获取文件_Python中做接口自动化如何读取配置ini文件
- 烈火如歌手游找回服务器,《烈火如歌》05月02日新服公告:侠肝义胆
- NYOJ 643 发短信(模拟)
- nyoj 122 Triangular Sums
- 计算机关机怎么关机,电脑关机命令,电脑关机命令怎么使用?
- 【算法笔记】逆元的求解
- 【hdu3501】求[1,n-1]与n不互质的所有数之和(单个欧拉函数求法+[1,n]和n互质的数之和公式----模版题)
- 在C++上利用onnxruntime (CUDA)和 opencv 部署模型onnx