Fra*_*e91 70 android android-fragments android-activity
关于你是否应该使用Activities或者,有很多讨论Fragments.例如:
我发现的大多数讨论都是在Android 4.2之前发布的.
在Android 4.2中,Google发明了嵌套片段.
因此,我实际上看不出任何理由再使用多个Activity.
在早期阶段,Fragments它们应该在应用程序中用于同时以舒适的方式支持平板电脑和智能手机.
因此,例如,您ListView可以View在点击某个项目时打开详细信息.在智能手机上,我们将替换ListView并显示详细信息View.而平板电脑,而不是用细节替代列表视图可以同时显示Views在同一时间.
现在有了嵌套,Fragments还有很多其他的可能性.如果您想使用单个Activity,您可以在其中存储一般信息,Activity并且每个Fragment人都可以访问它.
除此之外,Fragments谁嵌套Fragments,也可以为他们的孩子存储信息Fragments.
随着Fragments我可以轻松地重用Views,我可以同时显示多个,我可以轻松地Fragment形成一个对话框Fragment.这一切都可能只需要一些复制和粘贴操作.
如果我使用,Activities我认真地必须改变很多才能完成这项工作.
我最近实现了一个应用程序,我可以轻松使用两个Fragment-ViewPager来实现非常漂亮和动态的东西(某种:今天的信息 - 昨天的信息).在我看来,Fragments让我们的生活变得更轻松:)
问题:
Activity?你能提供一个很好的例子,其中使用多个Activities更有意义而不是使用Fragments?
Activities吗?我认为大多数更大的框架,如地图,YouTube和公司已经支持Fragments.所以我们不必依赖Activities.也就是它很容易对付NavigationBar,TabHosts,ViewPager,ActionBar如果你使用Fragments.
来自Udacity:
为什么不总是创建一个包含大量片段的活动?
Ste*_*ven 95
首先,我同意你的意见,只使用一个活动和嵌套片段就可以编写一个巨大的应用程序.这就是软件的乐趣 - 您可以使用各种方法实现相同的功能.对我来说,使用多个活动的选择取决于我个人对封装,可重用性和可测试性的偏好.
如果我有一个可以在其他应用程序中重用的小部件,我会把它变成一个片段.例如,我的应用程序具有"与服务器同步"按钮,我创建了一个自定义片段,使用进度条可视地显示同步过程.很容易想象另一个应用程序能够使用这个小部件,这就是为什么我将它作为片段开发的原因.
如果我在我的应用程序中切换任务,以便新任务在概念上独立于前一个任务,那么我使用一个新活动.例如,我的应用程序的第一页要求您选择一个用户.点击用户后,我会将您转到该用户的主菜单.用户的此主菜单显示在新活动中.
现在让我们想象一个庞大而复杂的应用程序,以及一个开发团队来开发该应用程序.如果应用程序可以分为单独的活动,则在概念上很容易划分任务.每个活动都是自己的沙箱,因此并行开发很简单,可以进行单元测试.如果有任何共同的需求,团队当然应该开发Fragments并重用它们.我应该补充一点,代码重用在软件开发中并不常见,但如果做得好,应该有很多可重用的片段.
现在假设是时候测试应用了.您的测试团队可以将每个活动视为自己的黑匣子.这比依赖单个活动和大量嵌套片段的单个巨大应用程序更容易测试.如果存在错误,这一点尤为重要.如果存在一个不明显的错误,至少我知道错误的范围仅限于许多中的单个活动.
总而言之,我的猜测是您正在开发个人应用程序,因此您的开发决策不会影响任何其他人.如果您正在开发一个拥有更大团队的应用程序,您的观点可能会发生变化,我希望我的回答在这方面有很大意义.
| 归档时间: |
|
| 查看次数: |
18950 次 |
| 最近记录: |