2013-02-21 90 views
1

在Android应用程序中,我有两个用户看到的屏幕,一个用于准备查询,另一个用于显示结果。这里的正确界面是在一个屏幕上准备查询,然后在第二个屏幕上查看结果。由于此应用程序针对的是手机用户,因此无需一次显示这两个应用程序。两个活动或两个片段?

传统的Android方式是使用两个活动,一个QueryPreparationActivity和一个DisplayResultActivity,并在两者之间切换。但是,我越来越多地听到Android UI如何切换到片段。我可以将两个屏幕实现为两个片段,并将其切换为活动,但它是否值得麻烦?我将基本上复制Android已有的活动管理代码。

是否有理由在这里使用两个片段?

*我使用的术语screen,因为它不一定是一个活动...

+0

谢谢大家。你们都说同样的事情,并且你说服我花费额外的时间,完成额外的工作并用碎片实现UI。我无法接受你所有的答案,所以信用最少的人会得到复选标记... – zmbq 2013-02-21 19:22:08

+0

为什么当我首先回答时选择了ebarrencheas答案? – 2013-02-21 19:24:30

+0

我只是想问我怎么能改善我的答案,为什么他选择了ebarrenchea。我们给出相同的观点和原因。 – 2013-02-21 20:52:55

回答

3

引入了片段将封装UI元素和相关行为封装到单个可重用模块中。在碎片之前,您必须重新编写与2个或更多活动共有的相同代码,特别是如果您找不到将UI /控制代码抽象为超类的好方法。活动仅召回setContentView一次的局限性使情况进一步复杂化。因此,在活动之间共享一些代码并不是那么好。

现在,回答你的问题,这一切都取决于你。如果您认为更进一步,您可以使用QueryPreparation或DisplayResult ui作为模块(其背后的布局和逻辑),然后进行片段实现。它可能是一个不同的布局,用于手机上的横向视图,或者如果您决定支持像连线7这样的小型平板电脑。如果您确定它永远不会发生,那么请坚持使用活动。就我个人而言,我在任何地方都会使用碎片,并且它们确实可以“实现未来”证明您的实施可以在路上重复使用。

4

就个人而言,我一直养成使用片段。

,但我可以给你使用的碎片的最好的理由是,当你开发你得到了很多的可重用性的手机和平板设备。

我知道你已经提到过,没有必要一次显示两个屏幕。但稍后说,你要为平板设备开发相同的“屏幕”,并意识到准备屏幕太荒芜了,并且希望同时显示queryprep和显示结果,则必须编写全新的第3活动。

如果您使用的片段,你会重用你的1个活性和2个片段,而这一活动应编码足够的智慧来确定屏幕的大小和显示正确的布局。

代码可重用性&灵活性是这里的流行词。

如果您有任何问题,请留下评论,我会扩大我的答案。如果你喜欢我的回答,请注册并接受。

+0

给出Details Fragment的一些最佳示例,我想用它来创建活动等配置文件。 – 2013-03-20 05:47:23

1

在短的片段进行了介绍,以适应平板电脑/大屏设备的出现,并允许开发人员创建将在广泛的屏幕尺寸非常小变化的代码运行的应用程序。

更多可以是read here at the Android Blog。该博客还详细介绍了向碎片方向发展的一些细节技术细节。在Goolge IO 2012中还引入了DialogFragments,您应该考虑使用DialogFragments而不是Dialog。他们的另一篇博文here describes

你最好习惯使用Fragments和DialogFragments,因为这是Android的发展方向。只有使用个人活动,如果你确实需要做一个快速和肮脏的应用程序来说测试目的。碎片,在我看来,确实需要更多的代码工作来整合并最初让你的头脑圆满,但这是值得的。