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

Posted

技术标签:

【中文标题】Android:- 如何在整个应用程序中使动态 HashMap 可访问? [复制]【英文标题】:Android:- How to Make dynamic HashMap Accessible in whole application? [duplicate] 【发布时间】:2011-11-04 06:46:42 【问题描述】:

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

感谢您的帮助。 马哈维尔。 mahaveermuttha@gmail.com

【问题讨论】:

【参考方案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 作为其变量的一部分。所以你的子类看起来像

    public class  MyCustomApplication extends Application 
        HashMap myMap;

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

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

如果您需要进一步说明,请告诉我

【讨论】:

感谢@momo,非常有帮助。 我们可以在这个类中重载函数吗?【参考方案2】:

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

【讨论】:

感谢费米的帮助。我是 Android 新手,也是 Java 新手。你能用一些代码说明一下吗……我从最近两天开始尝试。我没有得到解决方案。再次感谢。

以上是关于Android:- 如何在整个应用程序中使动态 HashMap 可访问? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中使视图周围的区域变暗?

如何在objective-c中使对象在整个应用程序中保持活动状态

如何在 iOS 应用中使滚动视图高度动态化?

如何在android中使我的应用程序设备管理员?

如何在Android的文本视图中使电话号码可点击

如何在运行时在android中使部分文本加粗?