Android设计原则及使用activities/fragments

Android design principles and the use of activities/fragments

我是 android 应用程序开发的新手(但有一些 Java 经验),我在设计应用程序时遇到了一些困难。例如:

当我执行应用程序时,我有一个带有徽标和两个按钮的起始页:RegisterLogIn。这应该是第一个activity。

1.) 如果我按下 register 按钮,我会看到一个页面(另一个 activity),其中包含输入字段、注册按钮以及 Facebook 和Google+ 按钮。

2.) 如果我按下 login 按钮,我会看到一个页面(另一个 activity),其中包含输入字段、登录按钮以及 Facebook 和 Google+ 按钮。

我没有将 facebook 和 google+ 按钮实现两次,而是考虑将 google+ 按钮及其功能放入一个单独的片段中,同样用于 facebook 按钮,以便我可以重复使用他们。

这是对活动和片段的 "good" 解释吗?如果不是,我应该在什么时候使用片段和活动?我想到了可以在不同活动中实施的可重用容器等片段。

感谢任何建议!

Activity、fragments 和 views 有着非常相似的目的,但在不同的层次上。只要对您有用,您就可以随意混合它们。我个人不喜欢片段,所以我只在我的应用程序中使用活动和视图。以下是主要区别:

  • 活动是切入点。您可以使用其中一项活动的 Intent 来启动您的应用程序。你不能用其他元素做到这一点。计划入口点时应使用 activity。例如可以被其他应用程序访问的电子邮件撰写模块。
  • 视图非常简单。使用它们来准备可重用的组件、布局和小部件。其他应用只能以库形式访问视图。
  • 碎片介于两者之间。它们由可视部分、数据和应用程序逻辑组成。片段可以像活动一样与后台管理器一起使用,不能使用意图启动,可以像视图一样使用布局和小部件。使用 fragments 创建带有 backstack 的更大屏幕。

相似点:

  • 所有提到的三个元素都可以同时显示多个。活动使用 ActivityGroup,片段使用布局和 FragmentManager,视图使用布局。
  • 这三个都有自己的生命周期。片段具有最复杂的生命周期,视图 - 最简单。
  • 这三个都可以用来编写应用程序。您可以使用活动、片段和视图以非常相似的方式在屏幕上放置布局和小部件。

基本上 activity 由 window 和布局(以及一些数据和逻辑)组成。片段由布局(以及一些数据和逻辑)组成。视图是布局或小部件(以及一些数据和逻辑)。

回答您的问题 - 这意味着您的方法很好。至少对我来说。如果您打算仅将这些按钮作为 UI 组件重用,您可以将它们重写为视图。