Adobe Air中的用户登录验证和预加载器

时间:2013-08-01 09:56:15

标签: flex air

我正在尝试找出在Adobe Air [桌面应用程序而非基于web的灵活应用程序]中验证用户和加载应用程序(同时显示预加载器)的方法。

这是我迄今为止所能实现的: - 一个窗口要求登录详细信息,一旦验证我使登录窗口不可见并打开应用程序主窗口的实例。这有两个问题: -

  1. 我必须打开一个新窗口(总共2个窗口)。如果我能够简单地在一个状态下显示登录表单而在另一个状态下显示主应用程序视图,那么它会更好看。我也试过了,但问题是除了view组件之外,flash还会执行所有actionscript并保持其他状态准备就绪。有一些应用程序视图中心actionscript开始抛出空引用错误等。最重要的是,整个事情需要一段时间才能显示,因为两个视图都已创建,但只显示其中一个
  2. 我想在用户通过身份验证后显示预加载器,直到加载主应用程序视图
  3. 简而言之,这就是我想要做的事情: -

    1. 尽快加载登录窗口并停在那里(应用程序其他部分的actionscript不应该运行)
    2. 验证后,加载应用程序的主视图。在加载完成之前显示预加载器
    3. 将主视图加载到同一窗口中(而不是打开一个新窗口并使登录不可见)
    4. 需要帮助和指导如何执行此操作。

      谢谢!

      更新1

      好的,现在我已经设法在一个窗口中整合了这些功能。然而,各州之间的过渡并不顺利。 状态1是登录屏幕。如果用户输入了正确的登录凭据,则视图的状态2将变为活动状态。

      现在,对于状态2加载(它是一堆UI组件和一个包含大量数据的网格),需要时间。在那之前,应用程序空白,然后所有这些都以混蛋显示。过渡能否更顺畅?只显示“正在加载......”即可。因为状态2直到所有构造完成后才会出现,并且状态1在我将当前状态更改为状态2后立即消失。有没有办法监视进度并仅在下一个状态有时更改状态已装好!

      更新2

      好的,我让过渡动画在各州之间运作。但是,转换开关仍然存在问题。问题是我验证登录后切换到的状态有很多组件并显示大量数据。 有没有办法可以附加监听器(如果有的话),当状态加载完成并生成视图时我可以触发它!转换中当前的混蛋效果是因为状态已经改变但视图尚未完成。

      State Change to State 2 is not smooth as State 2 loads about 10000 rows of data. Is there a way I can change the state visible to the user, after state 2 has been completely drawn out and has pulled in all data? creationComplete doesn't help much here.

      状态更改为状态2并不顺利,因为状态2从数据库加载大约10000行数据。在状态2完全抽出并拉入所有数据后,有没有办法可以为用户明显改变状态? creationComplete在这里没什么用。

      简而言之,有没有办法从初始状态开始加载状态,只有当它完全加载时才会显示?即我可以从状态1触发事件到加载状态2,但只有当状态2完全加载时才明显转换到状态2 ..

      更新3

      经过一周的消防,发布赏金并通过网络清理我仍然无法解决这个问题!在创建UI和加载数据时,我的应用程序窗口无响应。在Windows中,它甚至在窗口标题栏上显示“无响应”约5秒钟。因此,UI被卡住了,因为数据需要花费一些时间来获取和加载 - 所有这些都发生在默认的单个线程中。

      基于Adobe Air开发的人如何做到这一点?在加载实际游戏之前,我总是看到一个加载屏幕 - 当它加载时,它的功能完全正常。必须有办法!

1 个答案:

答案 0 :(得分:2)

在网格中加载10000行的耗时问题可以在任何Web应用程序中使用任何基于Web的语言,因为Web应用程序需要在具有自己资源限制的Web浏览器环境中运行。

所以我建议你在加载视图时不加载所有10000条记录。而是首先加载1000条记录,然后保留带有标签“Next”或“Show More”的链接或按钮,就像在该单击上一样,从数据库中获取下一堆1000条记录。这样你就可以完成任务。

谢谢,

Jigar Oza