我正在创建一个iPhone应用程序,用于对项目进行时间输入。我的UI在一周中的每一天都有一个UITextField,供用户输入按天工作的小时数。我正在处理数据输入部分,并且必须决定是否应该在用户完成输入时间时提交为给定UITextfield输入的时间,或者在用户完成整周输入时间后应该进行批量提交。第一种方法会导致“健谈”应用程序,因为在每次修改UITextField之后,将异步触发对我的WCF服务的调用。后一种方法需要额外的用户操作(即单击保存按钮)以批量提交所有输入的时间。
我倾向于第一种方法,并且有一个“健谈”应用程序,在每次修改UITextField之后将数据发送回WCF服务。异步执行此操作不应干扰用户体验。我一直在研究ASIHTTPRequest来处理“聊天”提交队列和SBJSON来将数据转换为JSON有效负载。
你有什么想法?我接近这个吗?一个“健谈”的应用程序会异步地影响用户体验吗?感谢您成为一名发声板。这是询问建筑问题的正确场所吗?
答案 0 :(得分:1)
手机发出单个请求的效率高于几个。如果您查看Web请求标头的开销与您正在传输的数据量相比,如果您为每个输入的数字发出一个请求,那将会很大。与单个请求相比,iPhone连续发起多个Web请求的能效也较低。
尽管如此,在这种情况下,大部分开销和低效率似乎并不重要,因为他们每周都会这样做一次。
用户体验肯定会受到您的选择的影响。如果您不要求用户按下按钮来提交更改,那么您已经消除了他们必须做的一件事。提供适当的反馈至关重要,这样用户就可以相信您的应用程序实际上已经保存了数据。
您需要一个突出的活动指示器来显示上传时间,并且您应该强制执行指示符在屏幕上的最短时间(例如,如果请求需要100毫秒,您仍应显示指标足够长,供用户查看)。您可能还需要一个标签,上面写着“已保存”,每次活动指示消失时都会出现。 (否则应该说“错误”,并提供用户如何解决问题的说明。)