【问题标题】:ICU for Mobile(iOS/Droid) devices用于移动(iOS/Droid)设备的 ICU
【发布时间】:2014-06-06 21:57:24
【问题描述】:

由于 iOS 和 Android 都在底层使用 ICU 并在自己的 API 中提供 ICU 提供的一些功能,因此 ICU 在移动应用程序开发中是否重要。考虑到我想开发跨平台(iOS,Android)应用程序的场景,我正在寻找移动应用程序开发的最佳实践。为 iOS 和 Android 编译 ICU 是否有任何好处(我看到的是应用程序代码库中的类似 API)并使用它们而不是使用 ios/android API。

同时为 iOS 和 Android 开发的应用开发者如何满足他们的 g18n 要求。

谢谢

【问题讨论】:

  • 这可能取决于您使用的功能。如果您可以使用平台中已有的东西,那么您就可以与平台及其用户体验保持一致。如果您需要平台未公开的内容,则可以使用 ICU 的子集。有关打包和子集 ICU 的信息,请参阅用户指南 userguide.icu-project.org。只是评论,不是完整的答案。
  • 嗨 Steven,我正在寻找 ICU 和平台(iOS/Droid)为 g18n 提供的功能之间的差距。既然我(从 ICU 邮件列表)知道您是 ICU 专家之一 :),请您指出任何此类编译信息(如果存在)。我正在自己评估它,逐个服务,但由于我没有使用所有 ICU 功能,因此比较这些功能变得越来越复杂。我比较的大部分功能(Unicode 转换、格式化、日期时间日历功能)都是由平台提供的。平台上不存在您所知道的任何具体内容谢谢
  • 谢谢……恐怕我自己没有这样的清单。也许有人会在这里回答。

标签: android ios mobile unicode icu


【解决方案1】:

我正在开发一个使用 ICU 的跨平台(iOS + Android)应用程序。 根据为应用程序创建数据的团队的说法,Android 或 iOS 内置版本都没有实现足够的功能供我们使用。

所以我不得不为 iOS 和 Android 编译它。

在 iOS 中,这被证明是相对容易的,我 fork:https://github.com/zhm/icu-ios 并按照说明进行操作。

在 android 中我必须使用:https://github.com/android/platform_external_icu4c 并使用 NDK 构建它。

我在构建时遇到了问题,因为默认的 Android.mk 文件无法正常工作,并且 Application.mk 中有需要设置的设置,而帮助文件中都没有提到这些设置。

除此之外,NDK 不允许 .dat 文件包含在库中,因此我还需要对其进行 mmap。

我建议您逐个应用决定是否可以使用内置功能,因为为 Android 构建完整版并不愉快。

【讨论】:

  • 能否请您告诉我 ICU 遗漏了哪些功能。我自己评估了 icu,但我通常可以找到大部分功能。虽然我无法详细说明,因为我的任务只是评估不提供。
  • 其实我也不知道,我只是听老板说ICU和标准版sqlite3,Android和iOS都不够完善。所以我不得不从源代码构建它们。
猜你喜欢
  • 2012-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 2015-04-15
相关资源
最近更新 更多