在活动之间共享对象

时间:2010-11-25 01:03:36

标签: android

我有一个包含四项活动的天气应用程序。主要/启动器活动使用... <隐身'

机器人:主题= “@机器人:风格/ Theme.Translucent.NoTitleBar”`

...并且只是用来做一些检查(无论这是一个新安装,网络连接是否可用等),然后启动其他一个活动。其他活动是面向UI的 - 两个简单显示从网站提取的天气数据,第三个提供位置'选择器',以便用户可以选择显示天气的区域。

但是,所有四项活动都使用了WeatherHelper对象,该对象基本上可以执行从检查可用SD卡存储到维护首选项以及拉取/格式化网站页面等所有内容。

所以,我的问题...有一个WeatherHelper实例的最佳方法是什么,可以被多个活动使用,以及在我的情况下最好在哪里/如何创建它?

我多年来一直是OO程序员,但我对Android和设计概念都很陌生 - 过去几周我在Android开发者网站上看了很多,但我已经停止了尝试决定这一点。

感激地收到任何想法。

2 个答案:

答案 0 :(得分:12)

我会在您的Application对象中存储共享信息。对此进行子类化并在那里添加任何额外的初始化和数据。您可以使用活动中的getApplication()来获取应用程序,您可以将其转换为专用版本并访问共享数据。

如果可能的话,我也会避免启动特殊的启动活动,并在应用程序的onCreate()覆盖中完成工作。

答案 1 :(得分:1)

嗯,您的问题已得到解答,但在具有启动器意图的WeatherHelper的{​​{1}}中实例化onCreate()对象似乎要简单得多,使Activity静态。