Android学习(九) SharedPreferences
一、SharedPreferences:一种清醒的存储方式,基于XML存储key-value键值对方式的数据。
SharedPreferences对象本身只能获取数据,而不能存储和修改数据,存储修改只能通过Editor对象实现。、
实现步骤:
1、获取SharedPreferences对象。
2、获取SharedPreferences.Editor对象。
3、通过Editor接口的pubXxx方法保存key-value对,其中Xxx表示不同的数据类型。
4、通过Editor对象的commit方法提交数据。
示例:
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <Button
android:id="@+id/btn_save"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="保存数据" /> <Button
android:id="@+id/btn_load"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="获取数据" /> <Button
android:id="@+id/btn_remove"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删除数据" /> </LinearLayout>
main_activity.java
package com.example.sharedpreferencesdemo1; import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity{ Button btn_save;
Button btn_load;
Button btn_remove;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btn_save = (Button) findViewById(R.id.btn_save);
btn_load = (Button) findViewById(R.id.btn_load);
btn_remove = (Button) findViewById(R.id.btn_remove); btn_save.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//获取SharedPreferences对象
SharedPreferences pref = getSharedPreferences("mypreferences", MODE_PRIVATE);
//获取Editor对象
Editor editor = pref.edit();
//写入数据
editor.putString("name", "张三");
editor.putInt("age", 30);
editor.putLong("time", System.currentTimeMillis());
editor.putBoolean("state", true); //保存数据
editor.commit(); //提示
Toast.makeText(MainActivity.this, "保存成功", 3).show();
}
}); //读取数据
btn_load.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
//获取SharedPreferences对象
SharedPreferences pref = getSharedPreferences("mypreferences", MODE_PRIVATE);
//通过getString方法获取值,第一个参数为key值,第二个为未取到值时给的默认值
System.out.println(pref.getString("name", ""));
System.out.println(pref.getInt("age", 0));
System.out.println(pref.getBoolean("state", false));
System.out.println(pref.getLong("time", 0));
}
}); btn_remove.setOnClickListener(new OnClickListener() { @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//获取SharedPreferences对象
SharedPreferences pref = getSharedPreferences("mypreferences", MODE_PRIVATE);
//获取editor对象
Editor editor = pref.edit();
// 通过key值移除数据
editor.remove("name");
//提交数据
editor.commit();
}
});
} }
实现保存,读取和删除数据。
Android学习(九) SharedPreferences的更多相关文章
- Android学习之SharedPreferences类
SharedPreferences类 android.content.SharedPreferences 类概括: 访问和修改由函数getSharedPreferences(String,int)返回 ...
- Android学习总结——SharedPreferences
SharePreferences存储方式,只是轻量级数据存储,xml格式的数据显示方式.简单存储步骤如下:一:获取SharePreferences对象1.SharedPreferences pref ...
- Android学习之SharedPreferences
SharedPreferences使用键值对的方式来存储数据,并支持多种不同类型的数据存储. 1.界面布局 <TableLayout xmlns:android="http://sch ...
- Android学习九:屏幕自适应
android中不同手机分辨率适配问题 在项目开发的过程中,同一个布局对应不同的手机会显示出不同的效果.导致这个现象产生的原因是不同手机的分辨率不同.在android sdk提供的帮助文档中,我们可以 ...
- android学习九 对话框碎片
1.android的对话框是异步的,对话框创建后马上执行下面的代码.好处: a.通过实现对话框的回调方法反馈用户与对话框的交互. b.能够在代码中清楚对话框. 2.碎片对话框基 ...
- Android学习九---OpenCV4android org.opencv.feature2d
不管是在识别,配准等应用中,提取图像的特征都是很关键的一环,提取特征是先找出图像的关键点(如角点,边缘点等),然后用描述子来描述这些点,最后整幅图像就可以表示成一个特征向量,特征向量就可以利用在后续识 ...
- 九、Android学习第八天——广播机制与WIFI网络操作(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 九.Android学习第八天——广播机制与WIFI网络操作 今天熟悉了An ...
- 【转】 Pro Android学习笔记(五九):Preferences(3):EditText和Ringtone Preference
目录(?)[-] EditText Preferences xml文件 设备的存贮文件 Ringtone Preferences EditText Preferences xml文件 在res/xml ...
- 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...
- 【转】 Pro Android学习笔记(九四):AsyncTask(3):ProgressDialog
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Progress Dialog小例子 我们 ...
随机推荐
- COMPANY_点取消会卡死的解决方法
// OLD void ctonedlg::onbtn_basedir_clicked() { m_basedir = getUserSelectDir(); doSearchDir( ...
- Linux内核实践之工作队列【转】
转自:http://blog.csdn.net/bullbat/article/details/7410563 版权声明:本文为博主原创文章,未经博主允许不得转载. 工作队列(work queue)是 ...
- js/jquery获取元素,元素筛选器
1.js获取元素 var test = document.getElementById("test"); var parent = test.parentNode; // 父节点 ...
- HDU 1394.Minimum Inversion Number-最小逆序数-完全版线段树(单点增减、区间求和)
HDU1394.Minimum Inversion Number 这个题求最小逆序数,先建一个空的树,然后每输入一个值,就先查询一下,查询之后,更新线段树,然后遍历一遍,每次将第一个数放到最后之后,减 ...
- 检查点--JMeter也有之二“检查点”
检查点:简单的来理解一下,上一章讲到,我们对用户名和密码进行了参数化,那么怎样来判断jmeter有没有正确调用test.dat里面的文件呢.当然,我们可以从结果图表中查看.但我还是想在“登录”这个地方 ...
- 洛谷—— P1869 愚蠢的组合数
https://www.luogu.org/problemnew/show/1869 题目描述 最近老师教了狗狗怎么算组合数,狗狗又想到了一个问题... 狗狗定义C(N,K)表示从N个元素中不重复地选 ...
- System.getProperty("os.name")
Here is a handy Java class that useSystem.getProperty("os.name") to detect which type of o ...
- App Class Loader
Java本身是一种设计的非常简单,非常精巧的语言,所以Java背后的原理也很简单,归结起来就是两点: 1.JVM的内存管理 理解了这一点,所有和对象相关的问题统统都能解决 2.JVM Class Lo ...
- [BZOJ2095]Bridges
最大值最小,是二分 转化为判定问题:给定一个混合图,问是否存在欧拉回路 首先,有向图存在欧拉回路的充要条件是每个点的入度等于出度,现在我们有一个混合图,我们要做的就是给其中的无向边定向,使得它变成有向 ...
- 不输入用户名密码通过跳板机登录到线上linux机器
问题: 一般情况下,公司所有的服务器都在内网,公网访问.管理服务器都要先通过登录一台跳板机,然后再由跳板机登录到相应的服务器进行操作,跳板机与服务器的连接都是内网地址.我们经常看到的现象就是下图这样, ...