关于何时使用片段和活动的一些问题

时间:2014-02-13 18:36:57

标签: android android-studio

只是一个免责声明,我对Android很新,并且慢慢地通过教程。大多数教程在开始时根本不讨论片段,但Android-studio默认为你设置一个。

我已经阅读了一些过去的问题以及与片段和活动相关的开发博客,它们有助于我了解使用片段的优势。

当我在应用程序中使用新活动时,我仍然感到有点困惑,在我看来,所有事情都可以通过片段和单个活动完成。

让我们说一个应用程序有多个屏幕,你实现它作为一个活动有多个片段,或多个活动,每个活动有一个片段。

image

这个图像对我来说很有意义,并展示了碎片的力量,但为什么手机上的例子需要两个活动呢?

另一个附加问题,如果一切都在片段中完成吗?

谢谢你,如果这些问题真的没有意义,我们很抱歉。

3 个答案:

答案 0 :(得分:3)

Activity应该是相关Fragments集合的主机。例如,您可能会遇到以下情况:

Base Activity extends FragmentActivity

LoginActivity extends BaseActivity
    -- LoginFragment
    -- LoginErrorFragment
    -- LoginSignUpFragment

SettingsActivity extends BaseActivity
    -- SettingsGeneralFragment
    -- SettingsAdvancedFragment

如果您尝试将所有逻辑移动到单个Activity中,那么它将很快变得无法维护。另一个好习惯是拥有Activity所有Activities扩展的基础{{1}};因为如果你突然发现你想要为所有活动提供一些功能,你可以将它添加到基类中。

答案 1 :(得分:3)

以上所说的一切都是绝对正确的。我想向他们补充几点。

  1. 在考虑片段时,请记住它们是Activity的一部分,它可以像动态添加,修改和替换任何其他视图一样。例如,使用ActionBar和导航抽屉时,片段变得更加方便和灵活。类似的事情对于ViewPager等也是如此。
  2. 碎片也比传统的Activity方法更好地迎合更大的屏幕尺寸。想象一下,当所有操作及其执行的事件都在同一个屏幕上时,当用户执行每个操作时,新屏幕将取代电话/平板电脑。
  3. 我喜欢片段的另一件事是,我们不必在Manifest中声明它们。 :)大多数时候,我们忘记使用Activities执行此操作,直到编译器提示。 :)(至少我)

答案 2 :(得分:0)

正如你所说。在简单的应用程序中,您只能使用一个Activity并只替换片段。我在我的应用程序中完成了它,它完美无缺。如果你想要遵循android设计和架构模式,有时你只需要启动新的Activity

  1. 根据您发布的有关图片的问题,您可以 只使用一个Activity和碎片获得相同的效果。
  2. 是的,向前发展的一切都可以在片段中完成。