簡體   English   中英

不同的一次性屏幕

[英]Different One-time screens

我想知道一次性屏幕。 我需要在應用程序上使用一些一次性屏幕。

首先:

一次性屏幕,該屏幕可以保存3個選項中的用戶選擇(我使用圖像按鈕),然后讓他走得更遠,但是下一次用戶進入此活動時,它將打開用戶先前選擇的選項的活動。

我知道我需要使用SharedPrefences之類的代碼並將其保存到SD卡/應用程序內存中。

是的,您應該考慮一個簡單的狀態機設計。

假設您創建了一個Enum ERuntimeState ,它具有兩個組件;

enum ERuntimeState { INITIALIZE, BEEN_INITIALIZED; }

如果需要提醒,可以在此處查看使用SharedPreferences保存數據的有用示例。 使用SharedPreferences ,您可以查詢應用程序的現有存儲標志,並且如果之前未設置變量,則可以設置其默認值。 因此,在應用程序首次運行時,可以使用SharedPreferences來檢查ERuntimeState的已保存實例, ERuntimeState使用INITIALIZE作為默認值,如果不存在現有保存數據,則將使用該默認值。

完成此操作后,您可以使用獲取的ERuntimeState來配置要在屏幕上加載的內容。 在這里您可以顯示您的首次啟動界面。 我們必須確保一旦輸入此狀態,就可以使用共享首選項保存ERuntimeStateBEEN_INITIALIZED ,這樣就不必在下次運行時再次執行初始化步驟。

當然,通過定義此enum ,我們不僅限於兩個狀態。 否則,我們將只使用布爾值,這是不靈活的。

順便說一句,這可能很難調試! 您可能要確保在調試時不要將標志保存在初始化狀態,否則,您將不得不清除所有應用程序的緩存數據,以模擬初始啟動。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM