問題タブ [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 - Does j2objc really support reflection?
I'm trying to use j2objc to translate some Java code. Unfortunately, my code relies on reflection. The j2objc documentation claims that reflection is supported, but when I try to import e.g java.lang.reflect.Field
, I get an error message saying it cannot be resolved.
That's the same error I get if I try to import classes I know aren't supported, e.g. Swing.
Other classes that the documentation says is supported, e.g. java.util, do translate cleanly.
Is there something special which needs to be done to enable reflection support in 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 でパターンを実装するのに苦労しています。
アクティビティはいつでも破棄される可能性があり (着信コール、ユーザーがホーム ボタンを押すなど)、再作成されたときは、残されていたときとまったく同じ状態になるはずです。これは、他のほとんどの GUI アプリケーションとは異なります。
アクティビティは、多くのライフサイクル状態を通過できます。一時停止される場合があります。その場合、アクティビティの UI は変更されません。たとえば、一部のデータがバックグラウンドでロードされている場合、MVP (アクティビティ) の View 部分に一時停止状態にあると配信できません。繰り返しますが、これは異常な要件です。
ブログ投稿MVP for Androidを読み、ソース コードの例を確認しました。MVP パターンを使用して達成しようとしている最終目標は、トランスパイラーj2objcを使用してすべてのビジネス ロジックを Objective-C に変換できるようにすることです。これにより、iOS で同じアプリを実装しながらビジネス ロジックを再利用できます。
Android の MVP パターンを正常に実装した人はいますか? その場合、何が足りないのでしょうか?
xcode - ビルドルール「出力ファイル」の式?
Xcode のビルド規則の「出力ファイル」セクションに式を含めることはできますか? 例えば:
$(DERIVED_FILE_DIR)$(echo "/dynamic/dir")/$(INPUT_FILE_BASE).m
具体的には、Java ファイルを j2objc で変換すると、結果のファイルは Java パッケージ (例: ) に基づいてサブフォルダーに保存されます$(DERIVED_FILE_DIR)/com/google/Class.[hm]
。これは--no-package-directories
、異なるパッケージでファイル名が重複しているため使用できません。
Xcode は正しい場所で出力ファイルを検索する方法を認識していないため、問題はOutput Filesにあります。デフォルトの場所は ですが$(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).m
、正しいパスを挿入するには文字列置換を実行する必要があります。ただし、$(expression)
存在しなかったため、追加された式は無視されます。
SCRIPT_OUTPUT_FILE_X
カスタムスクリプトから変数をエクスポートして出力ファイルで使用しようとしましたが、カスタムスクリプトが実行される前に出力ファイルが変換されるため、それも機能しません。
ios - クラスへの静的参照を渡すとメモリが消費されるのはなぜですか?
これがメモリを消費している理由を理解するのに苦労しています。
私が試してみました;
- ARC がクリーンアップするための時間を増やす
- 渡すグローバルの __weak コピーの作成
- __bridge または __bridge_transfer の使用を検討しましたが、これは適切ではないと思います。
- グローバルを公開して直接参照する (機能しますが、実用的ではありません)
この iOS Objective c スレッドは、Java アプリから j2objc 0.9.3 を介して変換されます。
この変換された静的シングルトンは、アプリ内のどこからでもアクセスできるように「グローバル」を格納します (実際のコードには、さらに多くのクラスとコールバックが格納されます)。
どんな助けでも感謝します。私はobjective-cとARCが初めてです。ARC についてかなりの量を読みましたが、このメモリ消費の原因をまだ理解していません。
Student TIのおかげで、次のことを試しました。
これはメモリを消費せず、これを行うことを計画していましたが、tball の新しい回答 (j2objc @AutoreleasePool を使用) が明らかに最良の選択肢であるため、そこから始めます。
ご回答ありがとうございます。
java - J2OBJC Xcode ビルド ルールと外部 Java ソース
J2OBJC Xcode Build Rule Method を使用して、Java ソース コードを Objective-C にコンパイルしています。
https://github.com/google/j2objc/wiki/Xcode-Build-Rules
ただし、Java ソースに変更があるたびに、ドラッグ アンド ドロップを使用して手動で Xcode プロジェクトにコピーする必要があります。
手動でコピーせずに外部Javaソースからコンパイルできる他の方法はありますか。
ご意見をお聞かせください。
java - ターミナルからのみ、jre エミュレーション lib を使用して 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 に追加します
j2objc で生成された .o ファイルを xcode に追加するにはどうすればよいですか?
Xcode でコンパイルすると、Apple Mach-O リンカー エラーが発生します。
私の .h ファイルは Xcode のビルド設定/ヘッダー検索パス/{私の .m ファイルの宛先} に追加されました
native - j2objc Java はネイティブ uicolor を拡張します
ネイティブ メソッドを使用するような Java コード例で UIColor を拡張するにはどうすればよいですか。
そのため、Java クラスをコンパイルできる j2objc は UIColor で拡張されます。
extends 部分のコーディング方法がわかりません。
助けてください。