問題Androidアプリケーションで外部クラスを読み込むにはどうすればよいですか?
私はプログラマによって何とか拡張できるアプリケーションを作成したいと考えています。私は拡張することができるクラスのセットを持っています。私はプログラマーにjarファイルで提供しますが(後でAPIを変更することはできないので、このソリューションはあまり好きではありませんが)、それらのインターフェイスを拡張して、そのクラス。問題はこのフェーズから始まります。私は、クラスアクティビティではなく、それを拡張したい。
私はその主題について読んでてきた
を知っているし、人々は通常、アンドロイドpluginableアプリケーションを実行するために意図や目的・フィルタの使用をお勧めし何。問題は、この手法ではアクティビティを使用する必要があり、メインアプリケーション内でプラグインとして機能する一連のアクティビティを起動すると便利です。私はそれを望んでいない。メインプロジェクトの外部にあるアプリケーションの開始時に一連のクラスをロードする必要があります。また、私はクラスローダについて読んしかし、いくつかのソリューションはちょっとハックであり、私は私の問題のために望んでいたものを見つけることができませんでした...
質問
それでは、どのように私は、アプリケーションによってロードすることができるクラスを作成することができますAndroidで?そして、外部で開発されたクラスを自分のアプリケーションにロードするにはどうしたらいいですか?
インテントの問題は、クラスからインテントを起動できないことです。拡張可能部分は、別のクラスから拡張されたクラスです。私はすべてのサブクラスをチェックし、それらを私のアプリケーションに埋め込みたいと思う。 –
デバイス上の他のソフトウェアへのインターフェイスを提供することは、AIDL rpcインターフェイスを使用することで最も効果的です。それはかなり退屈ですが、あなたのアプリケーションに応じて受け入れられるかもしれないし、そうでないかもしれないIPCのオーバーヘッドがあります。 –