Android学习--SharedPreference存储
SharedPreference存储
存:a.获取SharedPreference对象
b.调用edit方法获取Editor对象
c.通过Editor对象以键值对方式存储
d.调用apply方法提交
取:
a.获取SharedPreference对象
b.通过SharedPreference对象的get方法
1、主MainActivity中
package com.example.sharedpreferencestest; import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { @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 View.OnClickListener() { @Override public void onClick(View v) { //获取SharedPreferences对象 3种方法 //1、Context中getSharedPreferences() //2、Activity中getSharedPreferences() //3、PreferenceManager中getDefaultSharedPreferences() SharedPreferences.Editor editor = getSharedPreferences("data", MODE_PRIVATE).edit(); editor.putString("name", "Tom"); editor.putInt("age", 28); editor.putBoolean("married", true); editor.apply(); } }); Button restoreDate = (Button) findViewById(R.id.restore_data); restoreDate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { 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("MainActivity","name is "+name); Log.d("MainActivity","age is "+age); Log.d("MainActivity","married is "+married); } }); } }
2、布局文件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:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/save_data" android:text="save data"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/restore_data" android:text="restore data"/> </LinearLayout>
3、运行效果