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小例子 我们 ...
随机推荐
- bzoj4059 [Cerc2012]Non-boring sequences
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4059 [题解] 考虑分治.定义过程solve(l,r)为判断全在[l,r]范围内的所有连续子 ...
- yii 用户登录验证(cwebuser) yii 用户登录 (记)
yii 的确是一个强大而臃肿的框架,简单的小项目,或者只做后台接口调用的项目,建议不要用. 今天记录一下yii使用中cwebuser(Yii::app()->user->login())登 ...
- 搜索水题四连发_C++
特别声明:以下题目有部分为原创题,涉及版权问题,不得转载,违者追究 法律责任! 话说这是一套神题,只有你想不到,没有你做不到 题目更正后比 Pascal 跑得还快哈~ 一道特别裸,但是特别坑的搜索题 ...
- [bzoj2301][HAOI2011]Problem B —— 莫比乌斯反演+容斥原理
题意 给定a, b, c, d, k,求出: \[\sum_{i=a}^b\sum_{j=c}^d[gcd(i, j) = k]\] 题解 为方便表述,我们设 \[calc(\alpha, \beta ...
- API函数的学习与运用
1.窗口 1.获取最前方的窗口句柄 GetForegroundWindow() 返回值:HWND类型. 调用方式:HWND hwnd=GetForegroundWindow();即hwnd就存着你的窗 ...
- (转)python 模块安装包 制作
转自: http://testerhome.com/topics/539 用过python的同学对于python setup.py install肯定不会陌生.那么我们自己如果封装了很多的方法怎么很好 ...
- WIN32窗口程序
// Win32.cpp : 定义应用程序的入口点. // #include "stdafx.h" #include "Win32.h" void TRACE( ...
- Selenium2+python自动化8-SeleniumBuilder辅助定位元素【转载】
前言 福利来了,对于用火狐浏览器的小伙伴们,你还在为定位元素而烦恼嘛? 上古神器Selenium Builder来啦,哪里不会点哪里,妈妈再也不用担心我的定位元素问题啦!(但是也不是万能,基本上都能覆 ...
- c++ set容器排序准则
转载两篇博客: http://blog.csdn.net/lishuhuakai/article/details/51404214 http://blog.csdn.net/lihao21/artic ...
- ef code first commad
PM> enable-migrations 已在项目“EasyWeChat.Data”中启用迁移.若要覆盖现有迁移配置,请使用 -Force 参数. PM> add-migration 位 ...