歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

SharedPreferences進行數據存儲

在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.   
  11. public class SharedPreferencesActivity extends Activity  
  12. {  
  13.     private Button bt;  
  14.     private EditText et1;  
  15.   
  16.     @Override  
  17.     public void onCreate(Bundle savedInstanceState) {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         bt = (Button) this.findViewById(R.id.bt1);  
  21.         et1 = (EditText) this.findViewById(R.id.ed1);  
  22.         // 獲得SharedPreferences實例   
  23.         SharedPreferences sharedPreferences = getSharedPreferences("sms",  
  24.                 MODE_WORLD_READABLE);  
  25.         // 從SharedPreferences中獲得內容   
  26.         String con = sharedPreferences.getString("content""");  
  27.   
  28.         et1.setText(con);  
  29.         bt.setOnClickListener(new OnClickListener() {  
  30.   
  31.             @Override  
  32.             public void onClick(View v) {  
  33.                 // 獲得編輯器   
  34.                 SharedPreferences.Editor sEditor = getSharedPreferences("sms",  
  35.                         MODE_WORLD_WRITEABLE).edit();  
  36.                 // 將EditText中的文件添加到編輯器   
  37.                 sEditor.putString("content", et1.getText().toString());  
  38.                 // 這裡必須進行commit,   
  39.                 sEditor.commit();  
  40.                 Toast.makeText(SharedPreferencesActivity.this,  
  41.                         "SharePerferences保存成功", Toast.LENGTH_LONG).show();  
  42.             }  
  43.         });  
  44.     }  
  45. }  

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

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

Copyright © Linux教程網 All Rights Reserved