小建筑问题

时间:2010-08-13 18:15:45

标签: android database listview listactivity

我有一个列出一堆“东西”的ListActivity。如果你单击其中一个“东西”,你就会被带到另一个ListActivity,它列出了那些“东西”的一堆“东西”。

说我想让用户能够编辑某些“东西”的名字;甚至删除一些“东西”。我应该在什么时候在我的数据库上实际执行该操作?

例如:如果删除了一行“stuff”,那么在我将用户返回到“事物”列表之前是否应该更新数据库?或者用户应该返回“事物”列表然后更新数据库?或者没关系?

请注意,数据库更新可能会在服务中发生(我也会调用Web服务来更新云)。

3 个答案:

答案 0 :(得分:1)

我会在用户完成它之后进行数据库事务,这只是因为我想在给它们提交到数据库之前给他们一些撤消意外删除的方法。

编辑:请参阅jball的回答。他比我更了解你。

答案 1 :(得分:1)

这取决于您的应用程序中的重要内容。如果用户从未认为孩子在删除时被删除是很重要的,那么在向用户显示新的孩子列表之前,您应该等待服务器的响应。

但是,如果删除确认不那么重要且应用程序响应性很重要,请更新用户的显示,然后在后台异步执行删除。

答案 2 :(得分:0)

您应该在提交操作后立即更新子活动。这样你就不会有不一致的地方。返回父级时更新子活动的许多更改,同时退出是有风险的,因为如果网络失去连接,您可能无法完全提交所有更改。这可能导致数据库不一致。