为正在进行的操作提供用户反馈的建议 - Android 3.0?

时间:2011-05-16 16:32:47

标签: android user-interface android-3.0-honeycomb

在我的应用程序中,我必须完成许多长时间运行的任务。通常这些访问网络,并在远程服务器上做一些事情。显然,这些都是异步任务。现在的问题是:什么被认为是一种用户友好的方式来通知用户发生了什么?

我使用了一个解决方案,弹出一个模态对话框,默认的,无限期的动画加载圈在任务运行时旋转。这很糟糕,用户在这段时间内无法与应用程序进行交互 - 对话框是模态的 - 而且它本身就是侵入性的。

你们建议用什么解决方案为用户提供反馈:

一个。通过按ListView的侦听按钮启动异步任务? B.通过按菜单项启动异步任务? (来自ActionBar,或常规菜单,没关系)

我宁愿这个解决方案是非侵入式的,但用户应该注意到某些事情真的发生了。

3 个答案:

答案 0 :(得分:2)

我见过的大多数应用都使用位于UI上某处的不确定进度条。这样,用户看到某些内容正在运行,但仍然可以与活动的UI的所有其他部分进行交互。

答案 1 :(得分:1)

对于A,我可能会在进度条的ListView元素中留出空间。然后更新该项目的进度条。

对于B,我认为像持续通知进度条这样的东西将是一个非常理想的解决方案。

答案 2 :(得分:0)

在我的应用程序中,我必须完成许多长时间运行的任务。通常这些访问网络,并在远程服务器上做一些事情。显然,这些是异步任务。

根据描述,这可能不是使用AsyncTask是正确方法的情况。如果启动AsyncTask的应用程序的Activity被停止或销毁,但数据传输完成了95%怎么办?是否应该放弃进度?交易是原子的吗?

我强烈建议观看Virgil Dobjanschi's Google I/O 2010 presentation on Android REST client applications,其中他描述了设计用于处理此类数据和网络通信的应用。 He是Android官方Twitter应用的作者。