プラグインをサポートし、これらのプラグインにデータを提供するアプリケーションを開発したいと考えています。 Androidでこのプラグインアーキテクチャを実装する正しい方法は、メインアプリケーション用のapkとプラグインごとのapkです。ContentProviderとAIDL/Messengerの使用
メインアプリケーションとすべてのプラグインが異なるapkにあるので、(データ)オブジェクトを一方から他方に簡単に渡すことはできません。アプリケーションは異なるプロセスで実行されます。達成される)彼らは異なったクラスローダーを持っていて、これはうまくいかない。現在、私は私のプラグインに私のメインのアプリからデータを取得するための2つの有望なアプローチを参照してください。
ContentProvider
などの主要アプリを宣言します。これは、コンテンツ/データを別のプロセスに提供するという、私が達成したいことを正確に実行するため、私が意図したアプローチであると思われます。- データオブジェクトを
Parcelable
にして、AIDL
でそれらをプッシュするか、マルチスレッドを必要としない場合はMessenger
とします。私の意見では、このアプローチは、バックグラウンドでデータベースを気にするORMライブラリを使用することができるため、より簡単に思えます。 ContentProviderを初めて使用したことはありませんでしたが、私はContentProviderを使用するのは手作業でSQLクエリーを作成するようなものだと思っています(私が間違っているかどうか教えてください)。
ここで、賛否両論を忘れていたかどうか、これらの2つのアプローチの間に顕著なパフォーマンスの違いがあるかどうかを知りたいと思います。そして、あなたはどちらのソリューションを好むのですか?なぜそうしますか?
ありがとうございます!すべての返信は高く評価されています!