android 中的抽屉 Activity 以及加载数据的位置?
Drawer Activity in android and where to load data?
我最近刚接触 Android 开发和一般片段的概念。在 ios
中,我能够使用 SWRevealController 创建 drawer menu
体验,让每个页面都保持原样 viewcontroller
- 大致相当于 activity
。这些单独的 viewcontrollers
非常清楚在哪里加载数据,并且在它们的生命周期中非常自我管理。
现在 android drawer activity
将菜单的每一页作为 fragment
- 都属于同一个 activity
。这让我有几个选择:
- 有一个 mega-activity 知道如何为每个可能的页面加载所有数据。这可能是最容易做到但最难维护的。
- 让每个片段知道如何load/display他们自己的数据。这看起来很理想,但如果在 onViewCreated 中完成,reloading/duplicating 数据会出现问题。此外,它使抽屉的初始加载 activity 非常慢,即使数据加载是以异步方式完成的。
- 对于每个都需要进行自己的 API 调用的许多抽屉视图,什么是易于维护的方法?
与 iOS 相比,android 中有很多生命周期方法。
您还可以为每个视图创建活动并扩展具有抽屉控件的 BaseActivity。所以这样你就可以在 base class 中获得抽屉控件,你也可以在其他活动中获得抽屉。
其次,如果您使用 Fragment 方式,您可以使用 setUserVisibilityHint() 或 onViewCreated() 方法进行调用 api,或者您也可以使用带有少量检查的 onResume() 方法。如需更多信息,请查看 this
我最近刚接触 Android 开发和一般片段的概念。在 ios
中,我能够使用 SWRevealController 创建 drawer menu
体验,让每个页面都保持原样 viewcontroller
- 大致相当于 activity
。这些单独的 viewcontrollers
非常清楚在哪里加载数据,并且在它们的生命周期中非常自我管理。
现在 android drawer activity
将菜单的每一页作为 fragment
- 都属于同一个 activity
。这让我有几个选择:
- 有一个 mega-activity 知道如何为每个可能的页面加载所有数据。这可能是最容易做到但最难维护的。
- 让每个片段知道如何load/display他们自己的数据。这看起来很理想,但如果在 onViewCreated 中完成,reloading/duplicating 数据会出现问题。此外,它使抽屉的初始加载 activity 非常慢,即使数据加载是以异步方式完成的。
- 对于每个都需要进行自己的 API 调用的许多抽屉视图,什么是易于维护的方法?
与 iOS 相比,android 中有很多生命周期方法。
您还可以为每个视图创建活动并扩展具有抽屉控件的 BaseActivity。所以这样你就可以在 base class 中获得抽屉控件,你也可以在其他活动中获得抽屉。
其次,如果您使用 Fragment 方式,您可以使用 setUserVisibilityHint() 或 onViewCreated() 方法进行调用 api,或者您也可以使用带有少量检查的 onResume() 方法。如需更多信息,请查看 this