2010-10-26 12 views
5

所以,我發現了一個特定sdk中的錯誤,導致它在重新安裝使用sdk的新版本的應用程序後,在某些Android手機上失敗(通過adb install -r,大概是當用戶獲得已推到Android市場的更新)。有什麼方法可以強制應用程序的數據在更新應用程序時自動清除?我意識到有數據可以存儲的不同方式,但我只需要模擬調用「清除數據」按鈕,在設置的「管理應用程序」部分瀏覽到應用程序時,您會發現該按鈕。我只想讓所有數據都消失)。如何在升級/更新時最輕鬆地刪除Android應用程序數據?

我是一個Android noob,我在這個項目上做了最小的Java編碼,所以我基本上在這裏尋找最簡單的解決方案。我想我可以決定將「currentVersion」存儲到磁盤,然後每次啓動時檢查它,看當前版本是否與上次啓動時寫入磁盤的版本匹配。這是唯一真正的方法嗎?如果是這樣,那麼最簡單的方法是什麼?

謝謝!

回答

2

有沒有什麼辦法強制應用程序的數據在應用程序更新時自動清除?

不,至少是我對「自動」的定義。

我想我可以決定將「currentVersion」存儲到磁盤,然後每次啓動時檢查它是否與當前版本與上次啓動時寫入磁盤的版本相匹配。這是唯一真正的方法嗎?

我將其命名爲lastKnownVersion,但否則這種方法聽起來很合理,可能是您唯一可行的選擇。

如果是這樣,那麼最簡單的方法是什麼?

嗯......做你剛剛說的話。使用Java I/O(將文件存儲在getFilesDir()的某處)或SharedPreferences

請記住,如果您在應用程序更新中放棄其數據,您的用戶可能會感到沮喪。就個人而言,我寧願找到更好的解決方案來解決原始問題(「我發現某個特定sdk中的錯誤,導致它在重新安裝使用sdk的應用程序的新版本後在某些Android手機上失效」 )。

+0

我同意。但這隻會發生在我的應用程序的免費版本,因爲我所指的SDK實際上是廣告的提供者。因此,我無法真正負擔僅僅放棄應用程序,讓他們不能正確看到廣告,所以我唯一的選擇是強制他們卸載並重新安裝應用程序,這似乎是一個可怕的想法。 – rrbrambley 2010-10-26 14:50:52

相關問題