0

そのため、Bluetoothまたはwifiを介して外部デバイスを駆動するライブラリがあります。ライブラリは別のパーティによって作成されたものであり、実際に変更することはできません。

デバイスを制御する複数の Android アプリケーションが存在します。個別の APK と個別のプロセス。ユーザーがアプリを切り替えると、接続/再接続の操作ができなくなります。したがって、私の考えでは、基本的には独自のプロセスで実行されるサービスにライブラリをラップし、クライアント アプリケーションはそれにバインドできます。

これには、いくつかの興味深い問題があります。ライブラリ内のデータ オブジェクトは、Parcelable または Serializable ではありません。それほど多くはありませんが、ジェネリックをサポートしているため、すべてをラップするには非常に時間がかかります。

また、デバイスの特定の側面を制御するためのインターフェイスを基本的に表すオブジェクトが数十個あり、それぞれに 2 ~ 12 個のメソッドがあります。たぶん、AIDL を使用してこれらのそれぞれをラップできます。

ライブラリを直接使用するのと同じようにサービスを使用したいと考えています。

サードパーティのライブラリを AIDL サービスとしてラップすることは、おそらく Android 開発者にとってそれほど珍しいことではないと思います。以前にこれに直面したことがある人には何か提案がありますか?

4

0 に答える 0