Android のアクティビティと AndroidManifest.xml に関する質問があります。私がJavaサーブレットを扱っていて、「モジュールベース」またはプラグインベースのサーバーに似たものを作成したかったときに、疑問が生じました。これは正常に動作しており、次のようなコード アプローチを使用して、必要なサーブレットを動的に読み込むことができます:動的にサーブレットを servletConfig に追加します。サーブレットは、サーバーの起動時に動的に検出され、マップされます。
ここでの問題は、適切なアクティビティを見つける方法、それらの新しいインスタンスを作成する方法、またはそれらを開始する方法ではなく、私が理解している部分です。パッケージを反復処理して、適切なアクティビティ クラスを見つけ、それらの新しいインスタンスを作成し、リストに追加できます。
私は、interface
すべてのアクティビティが有効なアクティビティになるために実装する必要がある を使用しています。そうすれば、自分のアプリケーション用に新しいパーツ、エクステンション、または新しい機能を作成でき、すべてがうまく機能します。私のアプリケーションには、ユーザーがクリックできるボタンのリストがあり、ボタン リストは、ListView
.
private void displayLoadedContent() {
View v = inflateLayout(R.layout.buttonlayout);
ListView view = (ListView) v.findViewById(R.id.list);
view.setAdapter(new ListButtonAdapter(this, content));
}
どこで次のようcontent
に宣言されています
List<MyActivityInterface> content;
とListButtonAdapter
拡張しBaseAdapter
ます。
問題ありません。問題は、AndroidManifest.xml ですべてのアクティビティを宣言する必要があることです。そのファイルは、表示可能なアクティビティの大きなリストのようなもので、ちょっと面倒なので、ここではコードを表示しません。
マニフェストに 1 つのアクティビティを追加する必要があることはわかっていますが、1 つのアクティビティで十分であることを望んでいました。私のアプローチは、多くの点でFront Controller パターンと見なすことができます。ここでは、各アクティビティが、必要なアクティビティの読み込みと表示を担当します。
マニフェストにアクティビティを動的に登録する(または別の方法で実行できるようにする)ことさえ可能かどうかを単に尋ねているだけです。そうでない場合、他の有効な解決策はありますか?