2012-04-18 72 views
3

我已經在谷歌商店發佈我的應用程序,現在我想更新它。更新應用程序是否清除共享首選項或刪除應用程序設置的警報?

但我想放心,我的應用程序共享首選項中不會丟失存儲的數據。我也在開始通知的應用程序中設置了一些警報,我也不想失去它們。

我不知道如何更新應用程序的工作原理?它重寫這些東西嗎?無論如何,我可以在全球發佈之前對其進行測試?

我要指出,我在這個版本中所做的更改含有清單中有些變化:我改變targetSdkVersionminSdkVersion(它曾經有minSdk=8我現在已經改成了4並添加targetsdk=15),我給了一個進程的名字到我的alarmservice(這是一個intentservice來設置鬧鐘),但後來決定改變它,它現在沒有一個流程名稱。

回答

7

通常,SharedPreferences(以及其他用戶數據)將在更新過程中保留,但有時由於某些「未知」問題,數據可能會丟失,我想它已經超出了你的控制範圍。所以,你可以簡單地相信SharedPreferences將被保留。

至於報警,您是如何設置這些報警的?如果你在代碼中設置它們,只要你在代碼中正確設置,它應該是100%。

當然,測試的最佳方法是在將設備推向市場之前,在設備上安裝更新的應用程序。首先,您應該在手機上安裝市場版本的應用程序,然後將您的應用程序與市場密鑰庫導出到本地計算機上,最後在手機上安裝導出的版本(安裝程序應通知您有關更新)。你可以檢查這些設置是否仍然存在。

導出時,最重要的是確保您使用的是與市場版應用程序一樣使用的相同密鑰庫。

希望這會幫助你。

+0

非常感謝。我按照您的說法對其進行了測試,並保留了我的共享偏好和警報。 :) – Marjan 2012-04-18 11:16:45

+0

'由於一些「未知」問題,數據可能會丟失,這是不明確的!來自*文檔*的任何引用? * Android團隊*? – 2014-07-18 06:55:58

+0

@MuhammadBabar,不會,這是來自我自己的經驗。而且,是的,它是模棱兩可的。如果問題源於系統錯誤或者我的代碼錯誤或者其他問題,我太忙了,無法追查,但是我的一個用戶報告了這個偏好。所以,對不起,這就是我所能說的。 – 2014-07-18 12:42:40

2

SharedPreferences存儲並將不能更新應用程序。關於報警我不確定,對不起。

爲了測試您的更新,只需在您的設備上安裝您的市場版本,設置您的東西(鬧鐘,sharedprefs)就像普通用戶會做的一樣,只需在手機上安裝APK即可上傳到市場(簽名的apk !)。安裝應該與您的用戶將得到的更新相同...

+0

非常感謝。我按照您的說法對其進行了測試,並保留了我的共享偏好和警報。 :) – Marjan 2012-04-18 11:17:56

+0

@WarrenFaith:如果我想清除更新中的所有prependo數據,該怎麼辦?我在更新中將新表添加到數據庫中。該表不是在代碼中創建的。只有數據庫被添加到資產中。所以我想要做的是更新清除以前的數據庫並將其替換爲新數據庫。 – Ashwin 2012-10-04 15:23:05

+0

@Ashwin這與這裏的問題無關,但看看我的[回覆](http://stackoverflow.com/a/4499476/180538)的第一部分到另一個問題...雙重評論isn這裏也不歡迎。 – WarrenFaith 2012-10-05 08:34:52

相關問題