18.Android之SharedPreferences数据存储学习

时间:2023-03-09 01:11:09
18.Android之SharedPreferences数据存储学习

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据。

实现SharedPreferences存储的步骤如下:

(1)获取SharedPreferences对象

(2)利用edit()方法获取Editor对象。

(3)通过Editor对象存储key-value键值对数据。

(4)通过commit()方法提交数据。

实现代码:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="保存SharedPreferences对象数据" /> <Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="读取SharedPreferences对象数据" /> </LinearLayout>
 package com.example.sharedpreferencesdemo;

 import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast; public class MainActivity extends Activity { private Button btnsava;
private Button btnread; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btnsava = (Button) findViewById(R.id.btn1);
btnread = (Button) findViewById(R.id.btn2); btnsava.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
// 实例化SharedPreferences对象(第一步)
SharedPreferences mySharedPreferences = getSharedPreferences(
"test", Activity.MODE_PRIVATE); // 实例化SharedPreferences.Editor对象(第二步)
SharedPreferences.Editor editor = mySharedPreferences.edit(); // 用putString的方法保存数据
editor.putString("name", "pig");
editor.putString("habit", "sleep"); // 提交当前数据
editor.commit();
// 使用toast信息提示框提示成功写入数据
Toast.makeText(getApplicationContext(),
"数据成功写入SharedPreferences!", Toast.LENGTH_LONG).show(); }
}); btnread.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
SharedPreferences sharedPreferences = getSharedPreferences(
"test", Activity.MODE_PRIVATE); // 使用getString方法获得value,注意第2个参数是value的默认值
String name = sharedPreferences.getString("name", "");
String habit = sharedPreferences.getString("habit", ""); // 使用toast信息提示框显示信息
Toast.makeText(
getApplicationContext(),
"读取数据如下:" + "\n" + "name:" + name + "\n" + "habit:"
+ habit, Toast.LENGTH_LONG).show(); }
});
}
}

SharedPreferences将会把这些数据保存在test.xml文件中,可以在手机内存(部分手机要root)/data/data/<package name>/shared_prefs目录下看到.

运行效果:

18.Android之SharedPreferences数据存储学习    18.Android之SharedPreferences数据存储学习