这取决于您正在创建的应用程序。我已经使用这两种方法创建了多个应用程序,但是不能说一种方法总是比另一种更好。我创建的最新应用程序使用了单一Activity
方法和Facebook样式导航。从导航列表中选择项目时,我将更新一个Fragment
容器以显示该部分。
就是说,一个人Activity
也带来了很多复杂性。假设您有一个编辑表单,对于用户需要选择或创建的某些项目,要求它们进入新屏幕。在进行活动时,我们只会使用来调用新屏幕,startActivityForResult
但Fragments
在没有这种情况的情况下,您最终将值存储在上,Activity
并让主编辑片段检查,Activity
以查看是否已选择数据并将其显示给用户。
Aravind所说的坚持单一Activity
类型的说法也是正确的,但并非如此。您的活动将是FragmentActivity,只要您不需要,MapView
那么就没有真正的限制。如果您确实想显示地图,可以这样做,但是您需要修改Android兼容性库以进行FragmentActivity
扩展,MapActivity
或者使用公开可用的android-support-v4-googlemaps。
最终,我所知的大多数开发者都走了一条Activity
路,然后又回到了多个Activity来简化他们的代码。在平板电脑上,UI明智的做法是,有时您只能使用一个Activity
插件来完成您的设计师想出的疯狂互动:)
-编辑-
Google终于发布MapFragment
了兼容性库,因此您不再需要使用android-support-v4-googlemaps hack。在此处了解有关更新的信息:Google Maps Android API v2
-编辑2-
我刚刚阅读了这篇关于现代碎片状态(2017)的精彩文章,并想起了这个旧答案。我想分享的内容:片段:所有Android问题的解决方案