【问题标题】:Generating a list of supported devices by WURFL capabilities通过 WURFL 功能生成支持的设备列表
【发布时间】:2009-06-15 06:38:47
【问题描述】:

是否有一种有效的方法可以使用WURFL API 根据一组所需的功能以编程方式生成受支持设备的列表?

例如,我有一个应用程序的两个版本;一个在诺基亚 Series60 第 2 版手机 (Symbian 7/8) 上运行,另一个在诺基亚 Series60 第 3 版手机 (Symbian 9) 上运行。我需要从 WURFL 获取所有此类手机,以便在“支持的手机”页面上显示,并检查尝试下载的用户的 UA,以便我可以向他们传递正确版本的应用程序。

从概念上讲,我想我正在寻找这样的东西:

返回所有具有功能的设备:= device_os == 塞班操作系统 && 诺基亚系列 == 60 && (诺基亚版 == 2 || 诺基亚版 == 3)

我希望在 Java 中做到这一点。

【问题讨论】:

    标签: java mobile wurfl


    【解决方案1】:

    我建议使用new Java WURFL API 来加载和搜索功能数据库。这样很灵活,你应该可以很快实现你的伪代码。

    【讨论】:

    • 感谢您的来信。我们已经研究了新的 API,虽然它提供了一些比旧 API 更好的方法,但它看起来仍然像一个 hack,而且速度不快。现在我们正在做它并缓存结果,所以它是好的。
    【解决方案2】:

    所有其他答案都谈到了如何使用 Java WURFL API。但是,为了在运行时加快搜索速度,我建议在内存中存储一​​个 hashmap 或字典,将用户代理字符串(或原始字符串的精简版本)映射到其相应的设备信息。数据总量不应该那么大——仅仅在兆字节的数量级上。此外,WURFL 数据是相当静态的,因此可以离线预处理整个数据集以构建哈希图。我通常会定期预处理和更新 hashmap,序列化对象,并在运行时加载它。

    【讨论】:

      【解决方案3】:

      我不知道此任务的 API。我不得不自己处理这个问题,最后编写了一个公共网站来处理它:http://wurfl.ditherandbicker.com/

      由于基本 WURFL XML 文件是为可移植性而构建的,因此必须通过读取可变数量的“后备设备”来导出设备的完整功能矩阵。许多其他基于 WURFL 的项目的行为方式相同。根据我的经验,如果您希望通过搜索获得任何不错的速度,您确实需要将默认的嵌套数据结构转换为平面结构。当然,此时您将失去便携性优势。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-18
        • 2023-03-16
        • 1970-01-01
        • 2015-03-04
        • 2011-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多