2013-08-23 43 views
1

我想知道是否有可能(实际上)每隔几分钟运行一段代码即使用户正在使用该应用程序。这背后的基本理念是,用户将带着我的应用程序加载在现场的智能手机,并开始收集数据,而他正在收集数据或与应用程序的其他选项一起玩,手机捕获3g/wifi区域,它将开始将数据同步到服务器。我一直使用Google云消息传递(GCM)将通知从我的Web服务推送到设备,当它到达手机时,这意味着手机现在已连接到互联网,我运行了一段代码,为我做了同步。它会停止应用程序的当前活动,或者我会说用户将能够继续收集数据并且同步也在后台运行?这种情况下的任何想法?背景当应用程序运行时的操作

谢谢你们。

回答

0

与服务器通信的任何事情本质上都是在ActionScript中异步的(并且不能使其同步)。所以,只要按照通常的做法与服务器进行通信即可。其他处理,例如在大集合上循环或绘制大量对象,can make the application unresponsive

+0

因此,我将从SQLite内部设备中选择记录并将它们发布到Web服务器。从设备中选择记录的循环会发生什么?是会停止在手机中的用户活动,还是将在后台? – johnny

+0

我的循环并没有那么大,所以jsut想让它们保持在后台,应用程序用户在不知道它正在同步的情况下执行他的工作。 – johnny

+0

我无法想象你手机上有数百万条记录或复杂的连接,会导致显着的放缓。 –

0

是的,可以使用AsyncTask。当AsyncTask在后台运行时,你的应用程序不会停止。

+0

我看到一些帖子说明它不在Flash Builder中可用!我使用flash builder 4.7是否可以在flash builder中实现?感谢您的回复 – johnny

+0

我不确定,因为我没有使用它,但你可以使用AsyncTask为你的web服务在后台运行 –

+0

以及我需要在我的移动应用程序中使用AsyncTask而不是Web服务。由于数据存储在设备内部的sqlite数据库中,当设备连接到互联网时,它开始将数据推送到web服务。 – johnny

相关问题