设计最佳实践 - 处理用户选择的最佳方式

3
我是一名有经验的开发人员(WPF),现在转向Android开发。我的问题是:我正在开发的应用程序允许用户浏览其本地存储(例如SD卡)并选择文件。那么,我应该简单地创建一个新活动(在用户做出选择后)来处理我想让应用程序执行的任务,还是更好的方法是将所选文件的路径/名称传回主要活动,并让它启动下一个活动?换句话说,更好的做法是让主Activity启动其他支持活动,还是将一个Activity链到另一个Activity上并持续下去是完全可以的和正常的做法?
谢谢!
2个回答

1
简短明了:使用单独的活动,因为这是Android设计用于处理不同的UI操作。
来自Android开发文档:
系统中的活动被管理为一个活动堆栈。当启动新活动时,它被放置在堆栈的顶部并成为正在运行的活动——先前的活动始终保持在其下方,并且在新活动退出之前不会再次进入前台。
活动基本上有四种状态:
  • 如果屏幕前台有一个活动(在堆栈的顶部),它是活动或正在运行。

  • 如果一个活动失去焦点但仍可见(也就是说,一个新的非全尺寸或透明的活动在你的活动上方拥有焦点),它被暂停了。暂停的活动完全存活着(它保持所有状态和成员信息,并保持连接到窗口管理器),但在极低内存情况下,系统可以将其杀死。

  • 如果一个活动被另一个活动完全遮挡,它被停止了。它仍然保留所有状态和成员信息,但不再对用户可见,因此它的窗口被隐藏,并且当需要在其他地方使用内存时,它经常会被系统杀死。

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

0

是的,Activity之间存在链式调用是完全可以的。这主要是因为导航的原因:如果用户选择了一个文件并对其进行操作,然后按下“返回”按钮,那么他将会看到上一个打开的Activity(然后,也许,他会选择另一个文件)。否则,这将会给用户带来不可预测的行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接