通常我们通过Intent函数将android中的值从一个活动传递到另一个活动。是否有任何其他方法可以将值从一个活动传递到另一个活动没有Intent功能
答案 0 :(得分:2)
是。创建一个扩展android.app.Application
的类,然后在Manifest中将此类作为应用程序的名称
<application android:name=".ClassNameOfTheClassYouCreated"...>
...activities etc here...
</application>
现在,您创建的类是您的应用程序。只要应用程序正在运行,它的生命周期一直存在,它保存活动堆栈,您可以添加一些自定义字段来保存您的值。要从Application
获取Activity
个实例,请点击this.getApplication()
。
关于要重置的字段值的编辑(响应@hackbod的推荐):在单例上使用静态字段是保存全局值的另一种方法,但我发现建议的更优雅。在您提及重置值的情况下,这也可能发生在其他环境中(例如来电,方向更改),这会在使用之前提高消毒(或检查存在,随意调用它)值的需要。总是!
答案 1 :(得分:0)
信息流可以通过各种方式实现,您只需要一种保存和检索数据的方法。
您可以使用网络保存,然后通过静态类,文件存储,数据库甚至远程存储获取您希望它流动的数据。
意图是更好的方式。 Android创建它,所以使用它。 :)
答案 2 :(得分:0)
来自http://developer.android.com/guide/topics/providers/content-providers.html:
内容提供商存储和检索数据并使其可供所有应用程序访问。它们是跨应用程序共享数据的唯一方式;所有Android软件包都无法访问。
如果您想公开自己的数据,您有两个选择:您可以创建自己的内容提供者(ContentProvider子类),也可以将数据添加到现有提供者 - 如果有一个控制相同类型的数据,您有权写入。