おい!(ここから長文失礼します)
基本的に同じコードに基づいたいくつかのアプリケーションを作成しています。
各アプリケーションには違いがあり、一部には新しいアクティビティがあり、すべてに異なるリソースが割り当てられます。
すべての共通コードを 1 か所に配置できるように、Android ライブラリ プロジェクトを使用しようとしています。そのため、大規模な変更は一度だけ行うだけで、すべてのプロジェクトが更新されます。
さて、リソースは簡単な解決策です。メイン アプリケーションで各リソースを定義するだけで、命名規則が同じである限り、これらのリソースはライブラリ プロジェクトのリソースをオーバーライドします。
さて、私の質問は、クラス以外で同じことを行うにはどうすればよいですか? たとえば、すべてのビューに共通するコードのラッパーとしてベース ビューを使用することはできません。この中で、私は様々な活動を開始します。異なる UI と機能が含まれるため、3 つのアプリケーションすべてが異なるアクティビティを起動する必要がある場合はどうすればよいでしょうか? これについてどうすればいいですか?ライブラリ プロジェクトは、メイン プロジェクトが既にコンパイルされているため、別のアクティビティを使用する必要があることを認識しません。
私が考えたいくつかの解決策がありますが、他の誰かが何かアイデアを持っているかどうか知りたいですか? ここでのフィードバックは非常に役立ちます。
起動されるライブラリ プロジェクトのアクティビティには、ロードされるクラスへの参照が格納されます。これは、起動時にメイン アプリケーションで定義されます。これは、ライブラリ プロジェクトがこのアクティビティを呼び出したときで、指示されたものを読み込むことができます。
ライブラリ プロジェクト アクティビティ内で変更されないすべての機能を残します。次に、このアクティビティを拡張し、onCreate をオーバーライドして、ここで必要なこと (さまざまなレイアウトの読み込み、ビューの設定など) を行います。ライブラリ プロジェクトではなくメイン アプリケーションでほとんどのエントリ ポイントを定義する必要があるため、これには欠点があります。
私の問題がここにあることをフォローしていただければ幸いです。これについて説明が不十分であるかどうか尋ねてください。
ありがとう、
アダム