desktop_starter、android_starterおよびの3 つのプロジェクトがありplatformます。両方のスターター プロジェクトがプロジェクトを参照し、platformプロジェクトplatformは (99%) プラットフォームに依存しないと想定され、ほとんどすべてのコードが含まれています。
その理由はもちろん、エミュレーターを使用せずにデスクトップで Android アプリを実行できるようにしたいからです。
ただし、少なくとも 1 か所で、プラットフォーム固有のコードを呼び出す必要がありますplatform。具体的にはjavax.ImageIO、デスクトップで使用するかandroid.graphics.Bitmap、画像をピクセル単位で読み取る必要があります。
Java AFAIKにはプリプロセッサまたは同様の構造がないため、私の選択は何ですか?
- 画像リーダーをオブジェクトとして送信し、
platformリフレクションを使用することもできますが、それは汚いです。 - デスクトップ Java と Android の両方で動作する組み込みのイメージ リーダーを見つけました。何かアイデアはありますか?
- JNIでlibpngなどを使用すると、もっと簡単な方法があるはずです。