【问题标题】:What is the 'best practice' for changing from 'Activities' to 'Fragments' for Android applications?将 Android 应用程序从“活动”更改为“片段”的“最佳实践”是什么?
【发布时间】:2011-05-24 11:20:52
【问题描述】:

我正在为 Android 平台编写一个应用程序。该应用程序已经几乎是为 2.x 版本编写的,但我也想为 Honeycomb 版本编写它。如您所知,Honeycomb 的标签目标是“片段”而不是“活动”。

我的应用程序中有大约 30 个活动,必须将其更改为片段。这对我来说可能是一个很难的词,所以我想知道这样做的“最佳实践”。

谢谢。

【问题讨论】:

  • 您好,您找到合适的解决方案了吗?还是将代码复制到单独的代码库并手动将活动更改为片段的情况?

标签: android android-activity android-fragments android-3.0-honeycomb


【解决方案1】:

并不是一个 100% 的答案,而只是我迄今为止的个人经验(如果我有什么问题,请纠正我,任何人 - 我仍然是 Android 的初学者):

我有同样的情况 atm 并认为我可以重新使用我的活动并更改布局。例如。我打算在左侧显示我的主菜单,在右侧显示所有其他活动。

但是,我很快意识到这并不适用于平板电脑。它看起来很糟糕,甚至没有意义,因为如果使用得当,操作栏几乎取代了我的主菜单。此外,增加的空间确实需要完全不同的布局。在我的应用中,这将彻底改变用户体验,因此我必须重新考虑整个应用。

另一方面,我不得不一遍又一遍地重复的东西现在可能会被没有 UI 的“不可见”片段所取代。我还没有仔细研究 Honeycomb API 的这一部分,但听起来至少很有希望。

我发现一个不错的功能是您现在可以非常轻松地“关闭”您的应用程序。就我而言,我只有一个 Activity,所以一个简单的“完成”就可以优雅地退出整个应用程序。我知道这不是处理应用程序生命周期的“Android 方式”。然而,虽然我不会错过我的 Android 手机上的“关闭”按钮(即使某些应用程序,尤其是游戏提供了一个),但我发现自己一次又一次地在 Honeycomb 上寻找一个。 (这可能是因为 GUI 让人想起桌面应用程序之一。)

无论如何,长话短说:我建议重新考虑您的平板电脑应用。你真的有空间,所以如果你没有正确使用它,它看起来很奇怪。我不知道这对您的应用程序意味着什么 - 这显然取决于它是哪种应用程序。有些活动您可能只能用作片段,有些会与其他活动合并,有些可能变得可有可无。

所以我想你应该首先决定你的应用是否真的在平板电脑上有意义。如果没有,你可以做一些“优化”的小技巧(比如应用全息主题,也许还有新的布局/资源)。对于其他一切,我会等待 4.0/Ice Cream Sandwich,因为那时您将能够在智能手机和平板电脑上使用 Fragments。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2012-07-15
    • 2017-04-28
    相关资源
    最近更新 更多