1. 程式人生 > >Android重溫-SharedPreferences的簡單實現-儲存-讀取

Android重溫-SharedPreferences的簡單實現-儲存-讀取

一、SharedPreferences的概念
(1)是一種輕量級的是故居儲存方法
(2)以鍵值對的方式儲存配置資訊
(3)智慧儲存基本的資料型別:boolean、float、int、long、String
(4)以xml檔案的格式儲存
二、SharedPreferences的使用
1.簡單的實現一個程式實現使用的Demo:
 SharedPreferences sp = getSharedPreferences("LogIn",0);
 SharedPreferences.Editor editor = sp.edit();
 editor.putString("UserName", UserName.getText()+"");
 editor.commit();
 使用上下文Contex獲取SharedPreferences(String name,int mode)物件
 兩個引數:第一個是儲存檔案的名字
         第二個是檔案的訪問許可權
2.SharedPreferences.Editor editor = sp.edit();
是通過edit()獲取SharedPreferences.Editor物件來進行寫入的動作。
3.editor.putString("UserName", UserName.getText()+"");
通過put方法將值新增/覆蓋到檔案中 例如:putString() putBoolean()等。
4.editor.commit();
通過Commit()提交新的改動,不執行該方法不會發生任何改動。
三、程式碼的是實現讀取和寫入
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.zes.base.mydalytext.R;

public class QiantaoActovity extends Activity implements
View.OnClickListener{
private Button login_btn; private EditText UserName,PassWord; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_relative_layout_actovity); //複習一下儲存到本地的sharedpreference的實現
//兩次儲存,--第一次是點選登陸儲存---第二次當軟體暫停時儲存 login_btn = (Button) findViewById(R.id.login_btn); UserName = (EditText) findViewById(R.id.username_et); PassWord = (EditText) findViewById(R.id.password_et); login_btn.setOnClickListener(this); //在此onCreatC後讀取儲存的資料,沒有儲存則進行預設值的現實。 SharedPreferences sp1 = getSharedPreferences("LogIn",0); String UName = sp1.getString("UserName","請輸入賬號"); UserName.setText(UName); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.login_btn : //此處也可以進行資料的儲存 Toast.makeText(QiantaoActovity.this,""+UserName.getText()+"--"+PassWord.getText(),Toast.LENGTH_SHORT).show(); break; } } @Override protected void onPause() { super.onPause(); if (UserName.length()==0||UserName==null||PassWord.length()==0||PassWord==null){ Toast.makeText(QiantaoActovity.this,"賬戶或密碼為空",Toast.LENGTH_SHORT).show(); }else { SharedPreferences sp = getSharedPreferences("LogIn",0); SharedPreferences.Editor editor = sp.edit(); editor.putString("UserName", UserName.getText()+""); editor.commit(); } } }