Codenameone executeOfflineCommand在Android上从存储执行时跳过命令
我必须在程序中按顺序执行“Start”和“Finish”命令,并在最后同步所有内容。所以我先按顺序插入脱机命令,并假设它们将按相同的顺序执行。我用“列表”和“迭代器”来表示Codenameone executeOfflineCommand在Android上从存储执行时跳过命令,codenameone,Codenameone,我必须在程序中按顺序执行“Start”和“Finish”命令,并在最后同步所有内容。所以我先按顺序插入脱机命令,并假设它们将按相同的顺序执行。我用“列表”和“迭代器”来表示 问题是:完成命令将在中间的一些奇怪场景中被错过执行,并且“开始”命令将彼此执行并发送所有错误数据并以错误的方式映射。p> 由于在服务器上执行命令时操作将获得ID,因此我保留临时ID以映射存储中的脱机命令(localID)。如果我使用其他收藏,这会变得更好吗?很难在模拟器上重现这一点。请回顾这两种情况,并建议这种方法哪里会出错
问题是:完成命令将在中间的一些奇怪场景中被错过执行,并且“开始”命令将彼此执行并发送所有错误数据并以错误的方式映射。p> 由于在服务器上执行命令时操作将获得ID,因此我保留临时ID以映射存储中的脱机命令(localID)。如果我使用其他收藏,这会变得更好吗?很难在模拟器上重现这一点。请回顾这两种情况,并建议这种方法哪里会出错。谢谢
我将把脱机命令添加到列表中并保存到存储器中。之后,用户可以在应用程序中执行删除操作,以便我检索列表并从存储中删除已删除的命令,因此现在我已筛选列表。不同步 这几乎总是代号一的错误。您的代码处理UI,因此它应该在EDT上,并且Display.getInstance().isEDT()
应该为true
我猜中间的命令之一使用下面的代码<代码>调用和()/<代码>派生:
addToQueueAndWait
- 模态对话框
另一种解决方法是在开始处理时立即删除列表,这将防止重复执行命令。Shai..我有点困惑。你能提供更多的细节吗。我正在使用AddToQueueAnd等待我的每个查询来检索结果。请参考票据中附加的代码。第二种方法可以给出一个示例,您的意思是在处理后或之前删除列表。如果我以前做过,我如何访问元素。请告知。我正在使用NetworkManager.getInstance().addToQueueAndWait(r);对于我在应用程序中进行的每个查询。如果storage.getInstance().deleteStorageFile(“list2”);请告知。@Shai..我必须用addToQueue(r)替换addToQueue和Wait(r)吗?我依赖第一个动作和第二个动作。我需要在第二个动作开始前完成第一个动作。这主要发生在android设备上。请告知。