2011-08-26 39 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

相关问题