Android,管理视图、任务和活动

Android,管理视图、任务和活动,android,Android,我需要一般的建议 我正在构建一个应用程序,它可以通过图标(正常方式)启动,但也可以通过点击通知区域(应用程序在通知区域放置图标)触发意图。当发生时间事件/警报时,将唤醒 该应用程序有5到10个视图。为每个视图打开一个新活动是否更好?如何确保不打开多个任务?假设我的应用程序是Activity-A、Activity-B、Activity-C,并且可以从Activity-A和Activity-B启动(取决于是否通过图标或通知区域打开)。。。应用程序关闭后,我如何清理所有内容 还是最好只有一个活动并切换

我需要一般的建议

我正在构建一个应用程序,它可以通过图标(正常方式)启动,但也可以通过点击通知区域(应用程序在通知区域放置图标)触发意图。当发生时间事件/警报时,将唤醒

该应用程序有5到10个视图。为每个视图打开一个新活动是否更好?如何确保不打开多个任务?假设我的应用程序是Activity-A、Activity-B、Activity-C,并且可以从Activity-A和Activity-B启动(取决于是否通过图标或通知区域打开)。。。应用程序关闭后,我如何清理所有内容


还是最好只有一个活动并切换视图(xml布局)?

在这种情况下,我最好使用一个活动或使用片段。

我将从您应该观看和阅读的内容开始。应该清楚的是,Android中的导航很容易出错。谷歌在不同的应用程序之间有着不同的做法,但它们正在变得更好。这就是说,如果你要做一个应用程序,你应该知道它是如何工作的,最好的方法是阅读文档。如前所述,这是一次极好的会议。上还有一个很好的部分,最后在中有一个很好的部分

总而言之:全屏是一种活动(它又可以由片段构成)。在几乎所有情况下,这些活动都应该被构造成一棵树,根是从家中启动的活动。对于每项活动,您都应该有一个“向上”的活动,该活动将您纳入层次结构。请注意,这与back不同,back会将您带到上次的全屏状态。还请注意,全屏显示意味着,例如,选项卡不应记录在“返回历史记录”中,因为它们在屏幕内提供导航

当点击通知时,它应该相当于:按home键,从recents视图中删除任务(清除任务),打开任务,最后选择最短路径到达显示通知告诉您的信息的活动。复杂,是的,的确。。。但至少在JB和支持库中有一个名为TaskStackBuilder的助手类


所有这些的关键是一个遵循Android设计指南的UI设计。花点时间为你的应用程序进行设计,并确保分离(静态)和反向(临时)。

这可能很简单,就像使用不同的启动模式一样,你可以在清单中定义,或者我认为在你正在使用的INTE中定义。这需要一些实验,但单任务或单实例可能是您的正确选择


在这种情况下,您的活动应该支持onNewIntent,以重用现有活动(如果这是理想的效果)。

关于这一点,Google io 2012上有一次精彩的演讲。如果你想成为一个android应用程序的话,每个视图一个活动就是最好的选择。如果没有其他人这样做,我将稍后写一个答案:-)