2012-06-16 46 views
3

我是一名经验丰富的开发人员(WPF),转向Android开发。我的问题:我正在开发的应用程序允许用户浏览他们的本地存储(如SDCARD)并选择一个文件。现在,我是否应该简单地创建一个新的Activity(在用户做出选择之后)来处理我希望使用该选定文件的应用程序, - 或者 - 更好的方法来传递选定文件的路径/名称回到主要活动并让IT启动下一个活动?设计最佳实践 - 处理用户选择的最佳方式

换句话说,让主要活动启动其他(支持)活动是更好的做法,还是将一个活动链连接到另一个活动链并且一直是完全正常的?

谢谢!

回答

0

是的,活动链是完全可以的。主要是因为导航:如果用​​户选择文件,使用它,然后按下“返回”按钮,然后他会看到以前的打开的活动(然后,也许,他可能会选择另一个文件)。换句话说,这对用户来说是不可预测的行为。

1

短而甜:使用单独的活动,因为这是Android设计用于处理不同UI操作的方式。

从Android开发文档:

在系统

的活动作为活动堆栈管理。当一个新的 活动开始时,它被放置在堆栈的顶部,并变为 运行活动 - 之前的活动始终保持低于堆栈中的 ,并且不会再次到达前台,直到新的 活动退出。

一个活动基本上具有四种状态:

  • 如果在屏幕的前景中的活性(在 堆栈的顶部)时,它是活动的或跑步。

  • 如果某个活动失去了焦点但仍然可见(即,新的非全尺寸或透明活动将焦点放在了您的 活动之上),该活动已暂停。一个已暂停的活动是完全活着的(它会保留所有状态和成员信息并保持连接到窗口管理器的 ),但可以在极低的内存情况下被系统中止。

  • 如果一项活动被另一项活动完全遮蔽,它将被停止。它仍然保留所有状态和成员信息,但是, 用户不再可见,因此它的窗口被隐藏,并且当其他地方需要内存时,系统通常会终止其 。

  • 如果某个活动暂停或停止,则系统可以通过要求完成活动或仅干掉其进程,从而从内存中删除该活动。当它再次显示给用户时,它必须完全重新启动并恢复到其以前的状态。