Android鍵值對儲存成XML檔案SharedPreferences
需求:開啟應用的時候讀取原先已經設定的好內容,點選儲存按鈕的時候修改原先的內容,再次開啟顯示新設定的內容
這個配置的xml檔案位於 /data/data/應用所在包名/shared_prefs/下
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名" />
<EditText
android:id="@+id/nameET"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="電話" />
<EditText
android:id="@+id/phoneET"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="郵箱" />
<EditText
android:id="@+id/emailET"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress" />
<Button
android:onClick="onClick"
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="儲存為預設" />
</LinearLayout>
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText nameET;
private EditText phoneET;
private EditText emailET;
private SharedPreferences sp;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
nameET = (EditText) findViewById(R.id.nameET);
phoneET = (EditText) findViewById(R.id.phoneET);
emailET = (EditText) findViewById(R.id.emailET);
/**
* 第一個引數是檔名,不需要手動加.xml字尾,系統會自動加。 例如這個檔名就叫config.xml
* 第二個引數是,模式
*/
sp = getSharedPreferences("config", MODE_PRIVATE);//獲取物件,預設指向當前應用所在資料夾
//sp = getPreferences(MODE_PRIVATE); 如果用這個方法獲取SharedPreferences,那麼檔名預設是當前類名MainActivity
nameET.setText(sp.getString("name", ""));//獲取資料 sp.getString()第一個引數是要獲取資料的引數名,第二個引數是,如果不存在這個引數名,顯示的預設值
phoneET.setText(sp.getString("phone", ""));
emailET.setText(sp.getString("email", ""));
}
public void onClick(View view){
String name = nameET.getText().toString();
String phone = phoneET.getText().toString();
String email = emailET.getText().toString();
Editor editor = sp.edit();//獲取一個編輯器物件
editor.putString("name", name);//儲存資料,還未進入檔案
editor.putString("phone", phone);
editor.putString("email", email);
editor.commit();//提交修改(類似事務)
Toast.makeText(getApplicationContext(), "設定成功", Toast.LENGTH_SHORT).show();
}
}
相關文章
- android: SharedPreferences儲存Android
- Android儲存之SharedPreferencesAndroid
- 實現鍵值對儲存(二):以現有鍵值對儲存為模型模型
- Android中資料儲存之SharedPreferencesAndroid
- Android資料儲存之SharedPreferences及如何安全儲存Android
- 實現鍵值對儲存(一):什麼是鍵值對儲存,為什麼要實現它
- Android 檔案儲存Android
- android: 檔案儲存Android
- 進階篇_map容器(儲存鍵值對)
- 實現鍵值對儲存(0):目錄
- Android中的資料儲存之SharedPreferencesAndroid
- Android開發 - 儲存輔助類 SharedPreferences 解析Android
- 實現鍵值對儲存(四):API設計API
- TIDB儲存TiKV的鍵值對資料TiDB
- Android SharedPreferences儲存資料使用例項分析Android
- Android 檔案儲存淺析Android
- Android中的資料儲存之檔案儲存Android
- MySQL的鍵值儲存以及與MongoDB的對比MySqlMongoDB
- Flutter 資料儲存 SharedPreferencesFlutter
- 淺談Android的檔案儲存Android
- Android儲存讀取txt檔案Android
- 塊儲存 檔案儲存 物件儲存物件
- 實現鍵值對儲存(五):雜湊表實現
- 檔案儲存
- 資料儲存--檔案儲存
- 檔案系統儲存與oracle資料庫儲存對比Oracle資料庫
- 快速理解Android檔案儲存路徑Android
- 簡單的鍵值儲存測試
- 用鍵值儲存實現MVCC模式MVC模式
- Android,java,xml,xml讀取與儲存,基於AndroidXML解析與儲存的實現AndroidJavaXML
- CSV檔案儲存
- Python將np陣列儲存成npy檔案Python陣列
- Android從外部儲存裝置中儲存和載入本地檔案Android
- Electron 開啟儲存檔案對話方塊
- Flutter持久化儲存之檔案儲存Flutter持久化
- Android之XML檔案解析AndroidXML
- 提升Raft以加速分散式鍵值儲存Raft分散式
- C# 對XML檔案控制C#XML