gpt4 book ai didi

java - 抽屉布局应用程序的架构

转载 作者:行者123 更新时间:2023-12-01 17:15:27 25 4
gpt4 key购买 nike

我正在构建一个具有类似于 Android Facebook 应用程序的抽屉布局的应用程序。我想知道最好的架构方法是什么。我应该有一个负责操作栏的主要 Activity ,然后让它使用 fragment 来显示每个菜单项的内容,还是应该使用一个 Activity 来管理操作栏,然后让每个菜单项启动完全独立的 Activity ?

我还可以想象构建多个 Activity ,每个 Activity 都必须管理操作栏。这个选项似乎是最糟糕的。

最佳答案

这里有两个架构选项

MainActivityFragments

ParentActivity 处理抽屉和许多扩展此 ActivityActivity

我在不同的项目中尝试过这两种方法,并发现一些值得分享的东西。

对我来说,处理抽屉然后使用Fragments来填充显示的MainActivity是最好的。您需要在 MainActivity 中处理来自特定 Fragment 的回调,并将它们重定向到它们来自的特定 Fragment。这主要是如果您在架构链较低的对象中使用Interfaces,因为有时需要将Activity传递给某些对象。这会生成更多代码,这些代码并不像顶层架构节点中所希望的那样通用。如果您使用 ParentActivity 并为每个 ChildActivity 扩展它,您可以在子项中编写所有特定代码,这意味着顶级 ParentActivity 将几乎只有通用代码。

如果您将 ParentActivityChildActivities 结合使用,并且在 Activities 之间切换,则当 Activity 发生时,您将获得图形每次用户在导航对象之间切换时, 关闭并打开下一个。如果您使用 Fragments 这不会发生,因为 Fragment 将在后台切换。用户还将体验到,每次单击抽屉导航中的某个项目时,抽屉导航都会关闭并重新创建。每次单击某个项目时也没有必要重新创建抽屉导航。这是 ParentActivity 方法的缺点。

使用 ParentActivity 方法,您还必须跟踪 backbutton 应如何工作,这将通过 Fragments 自动为您处理>。此外,在启动新的Activity时,您必须选择是否应创建新的Activity或是否应终止旧的Activity等。

只是我的 5c,希望有帮助:)

关于java - 抽屉布局应用程序的架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22490330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com