歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> SharedPreferences進行數據存儲

SharedPreferences進行數據存儲

日期:2017/3/1 10:39:57   编辑:Linux編程

在Android中有四種數據存儲方法1:SharedPreferences 2:文件 3:數據庫 4:網絡

今天主要學習了一下用SharedPreferences 進行數據存儲

主要用到下面兩個

1:public abstract SharedPreferences getSharedPreferences (String name, int mode)

這個接口第一個參數是名稱,第二個參數代表操作模式 主要有四種模式(私有: MODE_PRIVATE 可讀:MODE_WORLD_READABLE

可寫:MODE_WORLD_WRITEABLE ;MODE_MULTI_PROCESS

2:public abstract SharedPreferences.Editor edit ()

注意文檔中這句話

Note that you must call commit() to have any changes you perform in the Editor actually show up in the SharedPreferences.

你必須對編輯好的內容進行commmit()提交,【很多時候我們會很容易忘記commit(),不然我們會SharedPreferences失敗】

接下寫代碼:在EditText保存內容,當我們退出屏幕的時候,在返回我們會發現先前編輯的內容又出現了;

源碼下載地址:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/1月/13日/SharedPreferences進行數據存儲/

因為我們點擊提交的時候,其實把編輯的內容以XML文件的形式保存在/data/data/自己的包名/shared_prefs/下面上圖為證:


下面源代碼:

[java]
  1. package com.jiangg.sharedpreferences;
  2. import android.app.Activity;
  3. import android.content.SharedPreferences;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.view.View.OnClickListener;
  7. import android.widget.Button;
  8. import android.widget.EditText;
  9. import android.widget.Toast;
  10. public class SharedPreferencesActivity extends Activity
  11. {
  12. private Button bt;
  13. private EditText et1;
  14. @Override
  15. public void onCreate(Bundle savedInstanceState) {
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.main);
  18. bt = (Button) this.findViewById(R.id.bt1);
  19. et1 = (EditText) this.findViewById(R.id.ed1);
  20. // 獲得SharedPreferences實例
  21. SharedPreferences sharedPreferences = getSharedPreferences("sms",
  22. MODE_WORLD_READABLE);
  23. // 從SharedPreferences中獲得內容
  24. String con = sharedPreferences.getString("content", "");
  25. et1.setText(con);
  26. bt.setOnClickListener(new OnClickListener() {
  27. @Override
  28. public void onClick(View v) {
  29. // 獲得編輯器
  30. SharedPreferences.Editor sEditor = getSharedPreferences("sms",
  31. MODE_WORLD_WRITEABLE).edit();
  32. // 將EditText中的文件添加到編輯器
  33. sEditor.putString("content", et1.getText().toString());
  34. // 這裡必須進行commit,
  35. sEditor.commit();
  36. Toast.makeText(SharedPreferencesActivity.this,
  37. "SharePerferences保存成功", Toast.LENGTH_LONG).show();
  38. }
  39. });
  40. }
  41. }

有時候我們在使用當前應用程序的時候,突然會遇到短信,或者電話來時,當前的Activity可能會被回收,

此時我們需要立刻保存一下當前頁面的一些信息,根據Activity的生命周期,可以在onStop()方法內進行保存

Copyright © Linux教程網 All Rights Reserved