【问题标题】:Flex module to supports 2 clientsFlex 模块支持 2 个客户端
【发布时间】:2012-01-18 02:31:30
【问题描述】:

目前我的任务是必须有一个 flex 模块才能对 2 个客户端有不同的行为 一些差异是文本差异和(可能)渲染器差异。但是第一个客户很快就会终止服务(2-3个月内)

所以我知道我有这两个选择:

  • 国际化,但是这 2 个客户端都使用英语语言环境(并且可能会迫使我创建新的语言环境),例如“en_Client2”。在第一个客户端终止服务后,删除新的语言环境。 (第二个用户使用默认语言环境,即 en_US)

  • 状态,但这会用 if 和 else 分散我的代码。

知道哪种方法更好吗?还是我错过了另一个选择?

【问题讨论】:

    标签: apache-flex flex4


    【解决方案1】:

    这个问题的答案不是绝对的,而是一种意见。这就是我要做的,例如设置一个 xml 文件,其中包含需要更改的文本以及用于渲染器的类的名称。然后使用 URLLoader 或 HTTPService 在运行时加载 xml 文件。使用类似下面的方法根据加载的 XML 解析类,然后在从 XML 文件中读取数据后动态地将类分配为 itemRenderer。您可以将所有内容存储在模型中,您可以将其绑定到视图中的属性以使其更容易。

    var classReference:Class = getDefinitionByName(xmlResults.itemRendererNumberOne) as Class;
    myList.itemRenderer = classReference;
    

    然后,您只需为每个客户端制作两个 xml 文件,就可以开始了。

    请注意,您需要在代码中的某处包含对将使用 getDefinitionByName 加载的任何类的引用,否则它们将不会包含在 swf 中,并且无法在运行时解析它们.任何类型的参考都可以,例如:

    MyClass;
    

    【讨论】:

      猜你喜欢
      • 2018-02-10
      • 1970-01-01
      • 2016-01-24
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      • 2017-04-22
      • 1970-01-01
      • 2015-04-08
      相关资源
      最近更新 更多