在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]
- package com.jiangg.sharedpreferences;
- import android.app.Activity;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
-
- public class SharedPreferencesActivity extends Activity
- {
- private Button bt;
- private EditText et1;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- bt = (Button) this.findViewById(R.id.bt1);
- et1 = (EditText) this.findViewById(R.id.ed1);
- // 獲得SharedPreferences實例
- SharedPreferences sharedPreferences = getSharedPreferences("sms",
- MODE_WORLD_READABLE);
- // 從SharedPreferences中獲得內容
- String con = sharedPreferences.getString("content", "");
-
- et1.setText(con);
- bt.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- // 獲得編輯器
- SharedPreferences.Editor sEditor = getSharedPreferences("sms",
- MODE_WORLD_WRITEABLE).edit();
- // 將EditText中的文件添加到編輯器
- sEditor.putString("content", et1.getText().toString());
- // 這裡必須進行commit,
- sEditor.commit();
- Toast.makeText(SharedPreferencesActivity.this,
- "SharePerferences保存成功", Toast.LENGTH_LONG).show();
- }
- });
- }
- }
有時候我們在使用當前應用程序的時候,突然會遇到短信,或者電話來時,當前的Activity可能會被回收,
此時我們需要立刻保存一下當前頁面的一些信息,根據Activity的生命周期,可以在onStop()方法內進行保存