Android之資料存放區SharedPreferences

來源:互聯網
上載者:User

   Android系統作為一款比較成熟的手機系統,在資料存放區方面了提供了多種儲存方式,資料庫SQLite、SharedPreferences、File、ContentProvider網路等方式,本文主要介紹一下SharedPreferences,我們簡稱它為SP,SP是一種比資料庫更加輕量級的資料存放區方式,其主要是以xml的形式儲存應用程式所需要的比較簡單的資料,xml檔案中了資料主要是以key-value索引值對的形式儲存。

  SP儲存資料雖然簡單,但也存在著缺陷,他支援的資料類型有boolean,int,float,long和String五種簡單的資料類型。

  下面我們來看在應用程式中,是如何用SP操作資料的,要使用SP,其分為以下幾個步驟:

   1、按照java編程的一貫思路,我們首先要獲得SP對象,獲得SP的方式主要有兩種,

       A、getSharedPreferences(String,int),通過這種方式了我就可以編輯sp資料了,

       B、getPreferences (int mode) ,從下代買可以看出此方法主要商戶獲得當前activity的一些資料,

      底層該方法的實現方式

       public SharedPreferences getPreferences(int mode) {
        return getSharedPreferences(getLocalClassName(), mode);
    }

    在獲得sp對象只能擷取資料,但是不能對資料做操作

 2、用sp的edit()方法擷取Editor對象,sp對資料的操作是通過Editor對象來操作的。

 3.通過Editor對象操作資料,操作方法都是按照資料類型來操作的 對於五中資料類型了,有相應的操作方式,例如寫:putBoolean()和putString()讀了是getBoolean()和getString()

4、最後對資料操作結束後用commit()方法提交。

ok sp對資料的操作流程了就是以上的四點,接下來我們看個例子:

 

public class
Calc extends
Activity {
    public static
final String PREFS_NAME
= "MyPrefsFile";

    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);
       . .
.

       // Restore preferences
       SharedPreferences settings
= getSharedPreferences(PREFS_NAME,
0);
       boolean silent = settings.getBoolean("silentMode",
false);
       setSilent(silent);
    }

    @Override
    protected void onStop(){
       super.onStop();

      // We need an Editor object to make preference changes.
      // All objects are from android.context.Context
      SharedPreferences settings
= getSharedPreferences(PREFS_NAME,
0);
      SharedPreferences.Editor editor
= settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Commit the edits!
      editor.commit();
    }
}

在執行上面的檔案後了 如果不存在sp.xml檔案,就會自動建立一個此檔案

此檔案的目錄一般是在/data/data/PACKAGE_NAME /shared_prefs

 

關於sp的應用了 主要就是儲存一些簡單資料資訊,如登陸的密碼,使用者名稱什麼的

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.