-2

我对 Android 编程比较陌生,我正在努力在活动之间发送数据。

我目前拥有的应用程序结构是,一个指向选项卡主机的主页,其中包含活动,并且一些活动有自己的选项卡主机和自己的活动,然后有显示而不是显示的屏幕根据用户输入显示。

现在我遇到的主要问题是将信息从最低级别的活动发送到第一级活动之一。

目前我有一个大型活动,包含一个选项卡主机,管理其中包含的较低级别布局的输入。

这是最佳做法,还是我应该使用另一种方法?

提前致谢。

4

4 回答 4

0

如果您发现自己需要跨活动维护大量相同的信息,您还可以使用Application该类来存储全局状态变量。

http://developer.android.com/reference/android/app/Application.html

需要维护全局应用程序状态的基类。您可以通过在 AndroidManifest.xml 的标记中指定其名称来提供自己的实现,这将导致在创建应用程序/包的进程时为您实例化该类。

于 2013-06-19T11:26:26.570 回答
0

您可以使用putExtra()在启动它之前在被调用的活动的意图内传递简单的参数(而不是对象),并在被调用的活动中使用它getExtra()

如果您想要向活动发送信息或从活动发送信息,那么您可以创建一个包含static与您的需求相对应的字段的类,然后在您的任何活动中访问和修改它们的值。至于在活动之间切换时自动更改值,您可以覆盖活动的默认功能来完成您的工作。

您可以在此处找到活动的默认方法。基本上你可能需要onPause()onResume()函数被覆盖

于 2013-06-19T11:30:49.593 回答
0

要在活动之间传递数据,请使用 Intents。您可以像 7bluephoenix 所说的那样使用 putExtra() 将数据添加到 Intent。要获取数据,您必须在接收活动中配置广播接收器:

意图是对要执行的操作的抽象描述。它可以与 startActivity 一起使用来启动一个 Activity,broadcastIntent 将其发送到任何感兴趣的 BroadcastReceiver 组件,以及 startService(Intent) 或 bindService(Intent, ServiceConnection, int) 与后台服务通信。

Intent 提供了一种在不同应用程序中的代码之间执行后期运行时绑定的工具。它最重要的用途是在活动的启动中,它可以被认为是活动之间的粘合剂。它基本上是一种被动数据结构,包含对要执行的操作的抽象描述。

http://developer.android.com/reference/android/content/Intent.html

于 2013-06-19T11:43:04.847 回答
0

我的应用程序的结构方式是,我必须使用应用程序上下文来存储值,就像单例方法一样。

于 2013-06-19T16:26:45.073 回答