2011-08-18 34 views
0

我有一個使用自定義類的應用程序。當應用程序啓動時,我將在主要活動中填充該類的一個實例,並保存所有數據。在整個Android應用程序中可訪問的全局對象

基本數據然後顯示在一個ListView中,您可以從中選擇一個ListView項目來查看其他活動中顯示的更多信息。

目前,我有通過傳遞,是有關新活動給它的數據:

intent.putExtra("NAME", value); 

我想實現一個ViewPager,使用戶可以ListView的項目之間輕鬆切換。因此,目前使用的方法並不是很好,因爲我一次只有一個條目的數據,並且需要返回到原始活動以再次獲取所有數據。

有沒有辦法讓我的類對象在全球範圍內可用ANYWHERE在我的應用程序?我感覺我的應用程序代碼越來越臃腫,因爲我正在用錯誤的代碼方法克服這些問題。

我只是看着使用:

MyApp myapp = ((MyApp)context.getApplication()); 

但是這不會工作,除非我可以通過周圍的背景下,這我不知道該怎麼辦?

在C#中你會創建一個可以處理這個類的靜態....

感謝 尼爾

回答

0

曾經使用過此question及其答案讀出。我認爲第一個答案的第三段對你有用。

+0

這就是我想要做的!謝謝 – neildeadman

0

你可以有:

  • 靜態類牽着你的數據(可直到過程中止)
  • 本地服務提供訪問您的數據
  • 保存您的數據的應用程序類別
  • 數據庫機制,以保存數據(在這種情況下,你只需通過ID作爲額外的意圖)

所有這些都或多或少有效,這也取決於你與你的數據做什麼選擇,它來自哪裏,...

+0

我該如何創建一個靜態類? – neildeadman

0

我認爲你正在尋找一個Singleton對象。創建將所有數據保存爲單例對象並從代碼中的任何位置訪問其數據的自定義類。此外,由於此數據可能不直接與用戶界面相關,因此您不應將其與活動關聯。

HTH,

阿克沙伊

相關問題