1

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

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

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

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

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

4

3 回答 3

1

我建议使用新的 Java WURFL API来加载和搜索功能数据库。这种方式非常灵活,你应该能够很快地实现你的伪代码。

于 2009-06-15T07:15:11.170 回答
1

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

于 2011-08-17T19:07:48.953 回答
0

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

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

于 2010-06-09T12:43:43.220 回答