具有多个视图的Android应用程序 - 最佳实践?

时间:2010-06-20 17:49:48

标签: android

我是开发Android的新手。我对一些最佳实践有疑问。我的应用程序就像一个仪表板,可以从中启动和完成多个不同的“子活动”。

我想知道构建应用程序的最佳方法是什么。一种方法是使用不同的布局并加载和适当卸载它们。另一种是使用意图开始新的活动。至少这是我从我所读过的内容中收集的内容。

您认为最好的方式是什么。

由于

3 个答案:

答案 0 :(得分:7)

我在我的应用程序中发现每个Activity通常负责单个UI视图。

因此,不是加载和卸载可能会非常混乱的不同布局,最好将每个子活动分成它自己的Activity类并使用显式意图(明确命名目标活动的意图而不是依赖于意图过滤器)在它们之间移动。

答案 1 :(得分:4)

您必须做出的决定是您的活动是紧密还是松散耦合。加载和卸载活动通常适用于您自己的应用程序。当您需要打开一个您可能知道或可能不知道其具体细节的活动时,使用意图是合适的。例如,您可以直接从主菜单(假设您有一个)打开另一个活动。然后,假设你需要用地图打开一个地址,你会使用一个意图,因为你真的不知道要打开的SPECIFIC活动。其次,当有多个活动可以执行相同的功能时,例如在浏览器中打开URL,最好使用意图。

总结如下:

直接打开(加载新视图或使用指定组件名称的Intent)

  • 紧密耦合
  • 了解要加载的活动的具体信息

间接打开(意图指定可以处理它的活动类别)

  • 除了可以执行已宣传的某些操作之外,不一定知道活动的细节。
  • 有多个活动可以执行所需的操作,并且您希望用户能够自己选择要使用的活动。

答案 2 :(得分:1)

虽然意图可能是一些额外的工作,但我建议使用它们,如果你不直接需要在两者之间来回传递大块数据。

如果您只需要将信息传递给每个子程序,那么您可以使用putExtra(String key, Bundle values);

轻松完成此操作

通过使用意图,您现在花一点时间以便以后具有很大的灵活性。您可以从不同的点开始意图,因此如果您的某个子应用程序想要启动另一个子应用程序,或者您希望使用文件管理器打开某个文件类型来打开您的一个子代码,则不需要编写新代码。程序

相关问题