对在应用程序中使用Fragments感到困惑

Roo*_*kie 5 android android-fragments

我有一个完整的应用程序,它不是使用开发的Fragments.我的困惑是,我应该改变它Fragments而不是 Activities.我想说的是,我在我的应用程序中只使用纵向方向而且它是构建的,记住只有手机,而不是平板电脑.所以我的问题是,如果我改变应用程序的整个结构并使用它会有什么好处Fragments.

据我所知,Fragments只应该使用如果我们想重用一些东西.任何建议表示赞赏.

bid*_*h.r 11

Fragments可用于创建动态和多窗格用户界面,因此非常适用于具有更多屏幕空间的平板电脑.当然,在手机上的情况有点不同,你有一个更小的空间可以玩,有时只是为了让一个Activity装配到屏幕上而不用担心包含多个就很困难Fragments.

Fragments非常适合动态界面,以及帮助平板电脑和手机之间的兼容性.他们还能够比活动更好地相互通信,因此即使在仅限电话的设置上使用它们也有一定的优势.(参见可FragmentsManager用于某些功能)

使用的一个示例如下图所示(摘自Android开发人员网站) 平板电脑和手机上的碎片

这说明了Fragments平板电脑可以占据同一屏幕的灵活性,在手机上切换到类似活动的格式.正是这种力量赋予了Fragment这种优势Activity.

因此,Fragment在灵活性方面切换到定向解决方案显然是有优势的,但您的原始问题表明您仅针对手机,并且仅针对纵向.

拥有一个已经存在的应用程序,Activities只要它是一个您满意的解决方案,并具有良好的可用性,我会说没有理由切换到Fragments(除非您正在寻找挑战或有一些空余时间和想要一个修补匠).虽然存在优势,但是诸如添加片段之类的剧烈变化可能会在您的应用程序中引入错误并影响用户体验(至少在短期内如此).

从长远来看,如果您考虑将平板电脑支持放入折叠或想要使用横向方向,那么最好开始考虑您可以采取哪些措施Fragments改善体验,并将其与当前整合您的手机应用程序的流程.

否则,您创建的当前解决方案将足以满足要求,只要您的客户群能够很好地接受,我认为没有理由进行更改.

当然,为将来的项目熟悉Fragment API,或者是时候刷新当前项目的UI ,也没有什么害处.

值得指出的是,Fragments仅支持Android 3.0(API级别11)本地,并且为了支持早期设备,您需要安装中找到的Android支持包.因此,如果您当前的应用程序以2.x设备为目标,我会坚持使用基于活动的方法,为了简单和.apk大小,除非转移到本机API级别(如Android 3.0+).这是个人偏好,但最终您的原始问题的答案将归结为您的个人偏好.


小智 4

将片段视为将代码模块化为可管理片段的一种方式。每个片段代表一小部分功能和 UI。这使您可以轻松调整代码以适应不同的场景。

当然,您现在不打算支持平板电脑(无论您认为平板电脑用户会如何安装该应用程序),请考虑更大尺寸的 5-6 英寸设备以及将您的应用程序扩展到这些设备的潜力。最好提供您的将应用程序部署到尽可能多的设备上,最好的应用程序将为设备量身定制体验。

过渡到 Fragments 并不一定很困难。将一小部分功能移至片段中。然后您就会发现新模式是多么简单和灵活。您不需要重写整个应用程序,因为活动和片段可以一起工作。

我相信,从长远来看,跳过片段确实会让您的开发任务变得更加困难。