我正在使用Samsung Galaxy Tab 2測試我的Android應用程序代碼。我正在使用共享首選項在設備上存儲用戶名和密碼。我正在與Github合作,因爲這是一個團隊項目。當我將設置保存到較舊版本的代碼中的共享首選項中,然後嘗試使用較新版本時,出現空指針異常。當我卸載應用程序並使用較新版本時,不會發生這種情況。在這種情況下,一切似乎都工作正常。較新的版本有一些新的鍵值對存儲在共享首選項中。有人可以讓我知道爲什麼會發生這種情況,我能做些什麼來避免這種情況?使用github和Android設備時的共享首選項問題
0
A
回答
0
SharedPreferences
存儲在設備上,如果您更新應用程序保存在那裏。如果您在代碼中更改密鑰/值對,則不會自動更新密鑰。另一方面卸載應用程序將刪除每個應用程序設置,即您的SharedPreferences
。
如果較新的版本查找使用新密鑰存儲的數據,如果使用舊密鑰存儲它將不會找到任何內容,並且將返回null
。這很可能是您遇到的NPE。
你可以檢查兩個鍵(如果存在的話更喜歡新的鍵),並保持與舊版本的兼容性。
除此之外,您應該始終期望得到null
並以安全的方式處理它,因爲用戶可以隨時清除應用程序設置。
相關問題
- 1. Android獲得共享首選項問題
- 2. 使用共享首選項在Android中設置首選項
- 3. 共享首選項的問題
- 4. 共享首選項的問題
- 5. 使用共享首選項
- 6. Android Studio共享首選項
- 7. 共享首選項Android
- 8. 共享首選項Android
- 9. Android共享首選項
- 10. Android共享首選項
- 11. 共享首選項Android
- 12. 單身共享首選項問題
- 13. 如何在設備之間共享用戶首選項時Xamarin
- 14. Android應用程序中的共享首選項問題
- 15. 無法在共享首選項中存儲設備名稱android
- 16. Android - 共享首選項在某些設備上崩潰。
- 17. Android中的共享首選項的奇怪問題
- 18. 共享首選項
- 19. 共享首選項
- 20. 共享首選項
- 21. Android M奇怪的共享首選項問題
- 22. Android共享首選項不起作用
- 23. Android共享首選項不起作用
- 24. 使用共享首選項時Android應用程序崩潰
- 25. Android - 兩個類的共享首選項
- 26. Android上的奇怪共享首選項
- 27. android共享用戶ID用於共享特定的共享首選項值
- 28. Arraylist的共享首選項
- 29. Android:檢索其他應用程序的共享首選項(rooted設備)
- 30. 我可以在Android中使用共享首選項和SQLite嗎?