Android: - 如何在整个应用程序中使动态HashMap可访问?

时间:2011-08-26 06:42:23

标签: android hashmap

我有一个问题是我正在解析来自google api的数据,它会返回给我 JSON数据。   我将这些数据存储在HashMap<string,String>.中 这是动态的。 现在我想在我的另一类应用程序中访问它。 所以我很困惑如何在没有静态的情况下使其在其他类中可访问。 有什么办法吗?如果您有任何示例代码请发送。 我尝试使用static Map<String, String> map = new HashMap<String, String>(); 但它不会产生场景,因为反应是动态的。 所以我需要动态的hashmap,可以在多个类中访问。

感谢您的帮助。 MAHAVEER。 mahaveermuttha@gmail.com

3 个答案:

答案 0 :(得分: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">
....

android:name =“com.mypackage.application.MyCustomApplication”指的是MyCustomApplication类,它是你要创建的Application的子类

  • 现在,是时候创建子类了。在这里,您要确保包含HashMap&lt; string,String&gt;作为其变量的一部分。所以你的子类看起来像

    public class  MyCustomApplication extends Application {
        HashMap myMap;

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

        public HashMap getMyMap() {
            return myMap;
        }
    }
  • 一旦您这样做,现在您可以通过调用getApplication()从任何活动访问您的地图。确保将应用程序转换为MyCustomApplication以正确使用它并访问方法getMyMap()

如果您需要进一步澄清,请告诉我

答案 1 :(得分:0)

您可以尝试创建自定义Application对象,并将HashMap作为该Application对象上的字段。然后,您的所有服务和活动都可以访问它。

答案 2 :(得分:0)

以下是类似问题的绝佳答案:How to declare global variables in Android? 看一下这个。这是值得的。