Android SharedPreferences 資料升級

來源:互聯網
上載者:User

標籤:

在應用開發時,可能隨著需求或者其他因素,原設計的SharedPreferences的值需要更改,這時我們該怎麼做呢?

下面來看一個例子, 這是我們第一版開發的,

package com.laomou.demo;import android.content.SharedPreferences;public class PreferencesUpgrade {public static final String KEY_LOCAL_VERSION = "pref_local_version_key";public static final int CURRENT_LOCAL_VERSION = 0;public static void upgradeLocalPreferences(SharedPreferences pref) {int version;try {version = pref.getInt(KEY_LOCAL_VERSION, 0);} catch (Exception ex) {version = 0;}if (version == CURRENT_LOCAL_VERSION)return;SharedPreferences.Editor editor = pref.edit();if (version == 0) {// TODOversion = 1;}editor.putInt(KEY_LOCAL_VERSION, CURRENT_LOCAL_VERSION);editor.apply();}}

隨著需求或者其他因素,原設計的SharedPreferences的值需要更改,

比如KEY_PICTURE_SIZE 需要更改 為 1920x1152

這是我們的第二版代碼

public class PreferencesUpgrade {public static final String KEY_LOCAL_VERSION = "pref_local_version_key";public static final int CURRENT_LOCAL_VERSION = 1;public static void upgradeLocalPreferences(SharedPreferences pref) {int version;try {version = pref.getInt(KEY_LOCAL_VERSION, 0);} catch (Exception ex) {version = 0;}if (version == CURRENT_LOCAL_VERSION)return;SharedPreferences.Editor editor = pref.edit();if (version == 0) {editor.putString(KEY_PICTURE_SIZE, "1920x1152");editor.apply();version = 1;}editor.putInt(KEY_LOCAL_VERSION, CURRENT_LOCAL_VERSION);editor.apply();}}

再來看是如何做到更改SharedPreferences的值

更新版本號碼

public static final int CURRENT_LOCAL_VERSION = 1;

如果目前的版本是0,那麼則需要更新

if (version == 0) {editor.putString(KEY_PICTURE_SIZE, "1920x1152");editor.apply();version = 1;}

更新目前的版本號

editor.putInt(KEY_LOCAL_VERSION, CURRENT_LOCAL_VERSION);editor.apply();


Android SharedPreferences 資料升級

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.