问题标签 [j2objc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - j2objc 真的支持反射吗?
我正在尝试使用 j2objc 来翻译一些 Java 代码。不幸的是,我的代码依赖于反射。j2objc 文档声称支持反射,但是当我尝试导入 eg 时java.lang.reflect.Field
,我收到一条错误消息,指出无法解析。
如果我尝试导入我知道不支持的类(例如 Swing),也会遇到同样的错误。
支持文档中提到的其他类,例如 java.util,可以干净地翻译。
是否需要做一些特别的事情才能在 j2objc 中启用反射支持?
java - Google 的 j2objc 可以处理和转换二进制 JAR 文件吗?
我希望开始使用移动开发(特别是 iOS),虽然我通常很擅长学习语言,但 Objective-C 几乎每一次都让我感到困惑。因此,查看 j2objc(因为我已经了解 Java),我认为它可能符合我所寻找的要求。
不过,我的问题非常简单:转换器能否正确处理我的源代码引用的情况,例如,仅二进制(字节码)JAR 文件中的 Apache Commons 代码?
android - 在 Android 中实现 Model-View-Presenter 的困难
Model-View-Presenter (MVP) 是一种众所周知的 GUI 应用程序设计模式。对于 Android,在纯 Java 模块中实现业务逻辑有助于测试,而无需 Android 模拟器。
但是,由于对 Android 应用程序的 GUI 有特殊要求,我很难在 Android 上实现该模式:
Activity 可能在任何时候被销毁(来电,用户按下主页按钮,...),并且在重新创建时它应该处于与离开时完全相同的状态。这与大多数其他 GUI 应用程序不同。
一个 Activity 可以经历许多生命周期状态。它可能会暂停,在这种情况下不应修改 Activity 的 UI。例如,如果某些数据正在后台加载,如果它处于暂停状态,则无法将其传递到 MVP(Activity)的 View 部分。同样,这是一个不寻常的要求。
我已阅读博文MVP for Android并查看了示例源代码。我试图通过使用 MVP 模式实现的最终目标是能够使用转译器j2objc将所有业务逻辑转换为 Objective-C ,以便在 iOS 上实现相同的应用程序时可以重用业务逻辑。
有没有人成功地为 Android 实现了 MVP 模式,在这种情况下,我错过了什么?
xcode - 构建规则“输出文件”中的表达式?
你能在 Xcode 的构建规则的“输出文件”部分包含表达式吗?例如:
$(DERIVED_FILE_DIR)$(echo "/dynamic/dir")/$(INPUT_FILE_BASE).m
具体来说,当使用 j2objc 翻译 Java 文件时,生成的文件会保存在基于 java 包的子文件夹中(例如。$(DERIVED_FILE_DIR)/com/google/Class.[hm]
)。这是没有 using --no-package-directories
,由于不同包中的文件名重复,我无法使用它。
问题出在Output Files中,因为 Xcode 不知道如何在正确的位置搜索输出文件。默认位置是$(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).m
,但我需要执行字符串替换来插入正确的路径。但是,添加 as 的任何表达式$(expression)
都会被忽略,因为它从未存在过。
我还尝试从自定义脚本中导出一个变量并在输出文件中使用它,但这也不起作用,因为输出文件SCRIPT_OUTPUT_FILE_X
在自定义脚本运行之前被转换为。
ios - 为什么将静态引用传递给类会消耗内存?
我很难理解为什么这会消耗内存。
我试过了;
- 让 ARC 有更多时间进行清理
- 创建要传递的全局变量的 __weak 副本
- 看着使用 __bridge 或 __bridge_transfer 但我不认为这是合适的。
- 公开全局变量并直接引用它(有效,但不切实际)
这个 iOS 目标 c 线程是通过 j2objc 0.9.3 从 Java 应用程序翻译的。
这个翻译后的静态单例存储“全局”,可以从应用程序的任何地方访问(真实代码存储更多的类和回调)。
任何帮助表示赞赏。我是objective-c和ARC的新手。我已经阅读了大量关于 ARC 的内容,但仍然不明白这种内存消耗的原因。
感谢学生 TI 尝试了以下方法。
这不会消耗内存,我打算这样做,但是tball 的新答案(使用 j2objc @AutoreleasePool)显然是最好的选择,所以我将从那里开始。
非常感谢您的所有回答!
java - 带有外部 java 源的 J2OBJC Xcode 构建规则
我正在使用 J2OBJC Xcode Build Rule Method 将 java 源代码编译为 Objective-C。
https://github.com/google/j2objc/wiki/Xcode-Build-Rules
但是,每次 java 源代码发生更改时,我都必须使用拖放手动将其复制到 Xcode 项目中。
这是我可以从外部java源编译而无需手动复制它们的任何其他方式。
请指教。
java - 仅从终端使用带有 jre 仿真库的 j2objc 将 java 编译为目标 c
嗨,我想使用 j2objc 从终端将我的 java 代码转换为目标 c。
我需要在终端中设置下面的标志。(jre_emul 是 J2ObjC 的 JRE 仿真库)。
所以编译j2objc的时候应该用JRE仿真库编译。
我怎么能在没有 Xcode 的情况下只使用终端呢?
源码参考 https://github.com/google/j2objc/wiki/Xcode-Build-Rules
ios - J2objc 将 .o 文件添加到 Xcode
如何在 xcode 中添加 j2objc 生成的 .o 文件?
使用 Xcode 编译时出现 Apple Mach-O 链接器错误。
我的 .h 文件已添加到 Xcode 中的构建设置/标题搜索路径/{我的 .m 文件目的地}
native - j2objc java 扩展原生 uicolor
我如何在 java 代码示例中扩展 UIColor,例如使用本机方法。
所以 j2objc 能够编译带有 UIColor 的 java 类扩展。
我不确定如何对扩展部分进行编码。
请帮忙。
j2objc - j2objc eclipse 插件不工作
我正在尝试使用 J2objC 插件来转换一个工作的 java 项目。我已经下载了最新版本的插件并且正在使用 Eclipse Juno。我的机器上有 J2objC 0.8。我已经设置了一个输出路径,并在插件中尝试了一些不同的设置。但是,当我运行插件时,不会在任何地方写入/复制/导出任何类型的文件。控制台内容如下:J2OBJC Conole
源目录:/Users/name/Desktop/folder/Workspace/projectfolder 目标目录:/Users/name/Desktop/folder/translatedjava/projectfolder 导出完成。