数据存储2--SharedPreferences
来源:互联网 发布:dva防御矩阵 编辑:程序博客网 时间:2024/05/22 01:27
数据存储2--SharedPreferences
SharedPreferences 是以键值对的方式存储的。
默认存储的地址是data/data/<packagename>/shared_prefs/
获得SharedPreferences 对象有3中方式:
1.Context类中的getSharedPreferences()方法。
接收2个参数,一个是命名文件名,第二个参数有MODE_PRIVATE(或者0)和MODE_MULTI_PROCESS。一个表示当前的程序才可以对这个SharedPreferences文件进行读写,一个是用于多个进程中对同一个SharedPreferences 文件进行读写。
2.Activity类中的getPreferences()方法
这个方法只接收一个操作模式参数,因为系统会将当前活动的类名当作存储的文件名。
3.PreferenceManag类中的getDefaultSharedPreferences()方法
这是个静态方法,接收一个Context参数,并自动使用当前的包名作用前缀来命名文件。
一、将数据存储到SharedPreferences中
1. 调用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象
2.向SharedPreferences.Editor对象中添加数据,如果是布尔型就用putBoolean(),如果是字符串就用putString().
3.调用commit()方法提交数据,完成存储过程
代码:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.sharepreferencestest.MainActivity" >
<Button
android:id="@+id/save_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save data" />
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button saveData=(Button) findViewById(R.id.save_data);
saveData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor=getSharedPreferences("data",MODE_PRIVATE).edit();
editor.putString("name", "Tom");
editor.putInt("age", 28);
editor.putBoolean("married", false);
editor.commit();
}
});
二、将数据从SharedPreferences中读取出来
编辑用到editor.put方法读取就不用了。只需要用到SharedPreferences 中的get方法就行,相应的如果是布尔值就用getBoolean()方法,方法接收2个参数,第一个是键,第二个是默认值,即当找不到对应键的值时,作为默认值返回。
代码:
<Button
android:id="@+id/restore_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Restore data"
android:layout_below="@+id/save_data"
/>
restoreData.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SharedPreferences pref=getSharedPreferences("data", MODE_PRIVATE);
//第二个参数表示如果按照第一个参数(键)找不到的话,就显示第二个参数作为默认值
String name=pref.getString("name","");
int age=pref.getInt("age",0);
boolean married=pref.getBoolean("married", false);
Log.d("Main", "name is"+name);
Log.d("Main","age is"+age);
Log.d("Main", "married is "+married);
}
});
}
Demo:实现记住密码功能
- 数据存储2--SharedPreferences
- Android 存储数据之2 SharedPreferences存储
- 数据存储(2):SharedPreferences存储
- android 数据存储操作2:SharedPreferences
- Android-数据存储方式2(SharedPreferences)
- 数据存储SharedPreferences
- 数据存储之 SharedPreferences
- 数据存储之SharedPreferences .
- Android数据存储-SharedPreferences
- SharedPreferences轻量级数据存储
- 本地数据存储----SharedPreferences
- Android数据存储---SharedPreferences
- SharedPreferences存储数据
- Android数据存储---SharedPreferences
- android SharedPreferences数据存储
- SharedPreferences进行数据存储
- SharedPreferences数据存储方式
- SharedPreferences存储数据
- 能比得上房价涨幅的只有程序员的薪资了
- JAVA中float与double的区别
- Collection
- 关于View的知识点
- 最长公共子序列
- 数据存储2--SharedPreferences
- poj1018 动态规划
- iOS打包Archive上传到fir.im
- 税收特征
- 集合类
- tengine模块
- 排序算法个人笔记1
- Codeforces Round #343 (Div. 2) D. Babaei and Birthday Cake(线段树+dp)
- obj_msgSend参数不能填写