簡體   English   中英

過度使用Application類來存儲持久數據

[英]Overusing the Application class to store persistent data

我正在制作一個必須在活動之間共享大量(相對)數據的應用程序。 最初,我是通過序列化或使其可拆分的方式在活動之間傳遞數據,但是它變得非常混亂(特別是當用戶需要按BACK來保存數據時)。 現在,我決定使用Application類將其存儲在全局單例中。 現在它變得更干凈,更簡單了(這就是我要這樣做的主要原因)。 無關緊要,但這是一個餐廳訂購應用程序,我存儲為全局數據是:

  1. 類別中所有菜單項的列表。 HashMap <Integer,ArrayList>(我從服務器獲取它們,因此在兩次啟動之間可能會更改)。
  2. 帶有用戶已添加的所有商品的購物車HashMap <Integer,HashMap>
  3. 一個簡單的字符串。

問題很簡單:“大男孩”將如何做? 我是否正確使用Application類? 我是否需要擔心在這里存儲太多東西? 我應該丟下這個東西,去處理可序列化/可打包的東西,然后將它們不斷放入Intent嗎?

您懷疑自己對Application的使用是對此類的輕微濫用,這是正確的。 特別是,您正在將其轉變為數據庫。 您已經在嘗試在“活動”中保持數據的一致狀態這一問題上遇到了問題。

除了這樣做,您可以利用Android對SQLite的內置支持。 如果您想使用其他快捷方式並直接獲取對象,可以使用OrmLite for Android

暫無
暫無

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

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