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