如何从 ObjC 访问 Android 字符串资源

How can I access Android string resources from ObjC

我正在 ObjC 中寻找一个函数来从 Android 字符串资源中获取字符串。

我有 res/values/strings.xml(Android 项目):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="something">Something</string>
<resources>

可以使用

在 Android 上访问
getContext().getString(R.string.something)

我需要一个工具来将 Android 资源转换成可以与 ObjC 一起使用的东西,以及 ObjC 中的一个函数,它接受一个整数资源 ID 和 returns 字符串。

没有任何此类功能,因为 Android 资源与 Android 应用程序模型紧密绑定,该模型非常庞大(android/content/Context。java 几乎例如 4800 行)并且与 iOS 应用程序模型非常不同。

但是,字符串资源很容易提取并转换为Java资源文件,j2objc支持。例如,一个简单的 XSLT 脚本可用于将 <string name="something">Something</string> 正确转换为 something = Something(对于属性文件)或 Object[][] resources = { \"something\", \"Something\" };(对于 ListResourceBundle)。