Android上真的需要多项活动吗?

时间:2015-07-01 11:40:37

标签: java android android-fragments android-activity

我习惯于HTML开发。现在我开始编写我的第一个Android应用程序。在我看过的教程中,看起来Android开发有利于为每个不同的表单使用新活动。

无论如何我认为使用单个活动并使用setVisibility(View.VISIBLE | View.INVISIBLE)来显示/隐藏GUI表单元素是非常可能的(这与我和#的更相似) 39; m与HTML-AJAX一起使用。)

Android中的这种开发方式有问题吗?

使用单个活动(进程)也允许使用单例在GUI组件之间共享状态和数据,而多活动需要一个"稍微"复杂的通信系统使用额外的数据来传达所选的id,......

我想知道单一活动"模式"的缺点是什么?为什么互联网上没有教程/手册使用这种技术来开发Android应用程序。

当我无意/有兴趣重用该组件时,片段是否优于显示/隐藏视图?

3 个答案:

答案 0 :(得分:2)

方法:单一活动:

  • 此方法将根据用户与app的互动显示/隐藏UI元素。显示UI元素从该元素开始绘制视图层次结构。这称为布局通行证。当计算性能时,这种布局通过是昂贵的操作。这不是可行的实施方式。

方法:单一活动,多重片段:

  • 此方法还将具有单个活动但与此活动关联的多个片段。每个片段根据应用程序要求定义新的UI屏幕。更多详细信息:Android Developer Guide : Fragments这是实施您的要求的明智方法

答案 1 :(得分:1)

我认为没有错,但根据您的应用程序的复杂程度,源代码很容易变得非常混乱!

答案 2 :(得分:0)

您希望这些代码发生:

elementXScreenA.setVisibility(false);
elementYScreenA.setVisibility(false);
elementZScreenA.setVisibility(false);

elementXScreenB.setVisibility(true);
elementYScreenB.setVisibility(true);
elementZScreenB.setVisibility(true);

然后,也许在那之后:

elementXScreenB.setVisibility(false);
elementYScreenB.setVisibility(false);
elementZScreenB.setVisibility(false);

elementXScreenC.setVisibility(true);
elementYScreenC.setVisibility(true);
elementZScreenC.setVisibility(true);

否。我不想这样做!!!

这只是基于你搞笑的方式。这样做有很多不利之处,我认为这种方法没有任何优势。我可以列出一些。任何评论都会添加到此列表中:

  1. 设计用户界面。如何在一个xml布局文件上编写多个布局? Android Studio不支持此功能。您将看到元素重叠元素
  2. 效果即可。加载所有应用程序UI不是一种智能方式。你失去了记忆,失去了CPU。虽然你设置了隐形,你的记忆仍然存储着这些信息,当元素之间的转换时,隐形元素仍然存在。
  3. 可修即可。我正在处理一个中型项目,并且每天都会因越来越大的片段和活动而头疼​​。 (如果每个活动/片段的每个布局)。当您将所有布局整合到一个活动中时,一切都变成了什么?
  4. <强>协作即可。一个文件中的所有布局。所有应用程序都在一个文件中。你怎么能在成员之间合作?代码冲突,错误编辑...... Noooo。停止:))
  5. 没有。不要那么做。当元素需要时,你只需要使元素不可见。例如,当用户向下滚动列表时浮动按钮,当没有错误需要显示时错误消息文本框,...