サイトアイコン Embarcadero RAD Studio, Delphi, & C++Builder Blogs

Android APIをFireMonkey Androidプロジェクトで利用可能なDelphiおよびC++Builderユニットに変換する

概要

クロスプラットフォームアプリケーション開発フレームワークについては、必要なものを作成するためのすべてのツールを入手し、そのフレームワークを形成し、フレームワーク自体を使用または拡張することにより、自分用の新しい開発ツールを作成できます。 たとえば、FireMonkeyフレームワークを見てみましょう。 サードパーティのAPIが利用できない場合は、それらをDelphiまたはC++Builderユニットに変換できます。 FireMonkeyは、拡張するために不可欠なヘルパーユニットを提供します。
変換プロセスを自動化するには、WINSOFTによるAndroidツール向けのJavaImportを利用できます。 このツールは商用ですが、使用可能なDelphiおよびC++Builderユニットに.jarファイルまたは.classファイルを変換できるトライアルバージョンがあります。 しかし、機能制限があります。Android APIをDelphiまたはC++Builder向けに変換する場合は、ライセンスを取得する必要があります。

動作仕様

使用方法について

1つのコマンドで.classファイルを.pasファイルに変換する方法を解説した、このツールに関するビデオをご覧になることをお勧めします。 また、実際のアプリケーションで生成されたファイルの内容も示します。

変換されたandroid.widget.Toast APIで使用方法を確認しましょう。 例として、android.widget.Toast.pasユニットがあります。 はじめに、モジュールを usesに追加する必要があります。

ご覧のとおり、すべてがObject Pascalコードに変換されています。

実装はこちらです:

[crayon-676e9fef94d1f028642504/]

コードに注意すると、コンパイラーのバージョンが32未満、つまり、Sydney(10.4)、Rio(10.3)、Tokyo(10.2)ではない場合、CallInUiThreadプロシージャを使用してコードを実行するコンパイラー・レベルによる条件分岐があります。以前のバージョンでは起動アクティビティと結果の処理に不可欠な手順でしたが、新しいバージョンでは廃止されています。 新しいバージョンでは、すべてのコードが現在Java UIスレッドで実行されているため、スレッドを同期する必要はありません。

それから、ユニットをブリッジするJavaClassでTJToastを呼び出します。 また、変換時の型の種類にも常に注意を払う必要があります。

次に、ShowToastを利用して、FireMonkey Androidプロジェクトからバッテリーレベルを取得する方法を学びます。

[crayon-676e9fef94d26013799786/]

上記のデモビデオでご覧ください。

ぜひ、WINSOFT JavaImportツールのフル機能をご確認ください。

RAD Studio 10.4 ボーナスパックキャンペーン実施中!
Enterprise Component Packには、WinSoftのCSVライブラリをはじめとする、100を超えるさまざまなWinSoftコンポーネントが搭載されています。2020年9月25日までに、Delphi / C++Builder / RAD Studio 10.4 Sydney EnterpriseまたはArchitectを購入すれば、すべて購入すると140万円以上の価値があるEnterprise Component Packを追加費用なしで入手できます。今すぐRAD Studio 10.4にステップアップしましょう!

モバイルバージョンを終了