Android重溫-SharedPreferences的簡單實現-儲存-讀取
阿新 • • 發佈:2018-12-30
一、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();
}
}
}