2011-08-26 43 views
0

我有一個問題是我解析數據從谷歌API,它返回我 JSON數據。 我將這些數據存儲在HashMap<string,String>. 這是動態的。 現在我想讓它在我的另一個類的應用程序中可訪問。 所以我很困惑如何讓它在沒有靜態的其他類中可訪問。 有沒有解決方法?如果你有任何示例代碼,請發送。 我試過使用static Map<String, String> map = new HashMap<String, String>(); ,但它並沒有變成現場,因爲響應是動態的。 所以我需要可以在多個類中訪問的動態hashmap。Android: - 如何使動態HashMap在整個應用程序中可訪問?

感謝您的幫助。 Mahaveer。 [email protected]

回答

0

下面是對類似問題的一個很好的答案:How to declare global variables in Android? 檢查了這一點。這是值得的。

+0

嗨謝謝AZ13這麼好的幫助。但我不認爲這些會爲我工作。因爲我使用的是動態的HashMap,我想在多個類中訪問它。你能幫我嗎...... –

+0

然後考慮使用單身設計模式http://en.wikipedia.org/wiki/Singleton_pattern – AZ13

0

您可以嘗試創建自定義的Application對象,並使該HashMap成爲該Application對象的字段。您所有的服務和活動都可以在那裏訪問它。

+0

的幫助表示感謝費米。我是Android新手,也是Java手機。你可以請說明一些代碼...我試着從最近兩天。 ñ我沒有得到解決方案..再次感謝。 –

1

Android提供了應用程序上下文,您可以繼承並在其他活動中使用它。這些步驟是(我也突出了鏈接,這樣您可以在重要的事情讀了):

  • 修改您的Android Manifest包括自定義應用程序。請看下面一節中的AndroidManifest.xml


    <application android:icon="@drawable/icon" android:label="@string/app_name" 
      android:theme="@android:style/Theme.NoTitleBar" android:name="com.mypackage.application.MyCustomApplication"> 
.... 

安卓:名稱=「com.mypackage.application.MyCustomApplication」指的是類MyCustomApplication這是Application的子類,你要創建

  • 現在,是時候讓你製作你的子類了。在這裏,您要確保將HashMap <字符串,字符串>作爲其變量的一部分。所以,你的子類看起來像

    public class MyCustomApplication extends Application { 
     HashMap myMap; 

     public MyCustomApplication() { 
      this.myMap = new HashMap(); 
     } 

     public HashMap getMyMap() { 
      return myMap; 
     } 
    } 
  • 一旦你這樣做,現在你可以通過調用getApplication()從任何活動訪問您的地圖。請確保你投以MyCustomApplication應用程序正確地使用它,並可以訪問方法getMyMap()

讓我知道如果你需要進一步澄清

+0

謝謝@momo,非常有幫助。 – amalBit

+0

我們可以在這個課上沉重的功能嗎? – amalBit

相關問題