私が取り組んでいるプロジェクトでは、N 個のスタンドアロン アプリケーションをビルドできる必要がありますが、そのうちの 1 つを実行する選択メニューを備えた非常に大きなアプリケーションも必要です。
これらのアプリケーションの違いは主にリソースと XML であるため、それらはすべて、XML で提供されるアセットと情報に反応する共通のライブラリを使用します。
問題は、「母」アプリケーションに関するものです。スタンドアロン リソース セットの 1 つを使用して共通ライブラリを使用できる必要があります。次を使用して、別のアプリケーション リソースにアクセスできることに気付きました。
Resources R2 = getPackageManager().getResourcesForApplication("com.example.appa");
int id = R2.getIdentifier("image", "drawable", "com.example.appa");
Drawable myDrawable = R2.getDrawable(id);
そして、これは実際に問題を解決します。パッケージ文字列をライブラリに提供して、リソースを探す場所を知ることができます。
問題は、これが機能するためには、これらのスタンドアロン アプリケーションをデバイスにインストールする必要があることです。それは私にはできないことです (クイズ アプリケーションと考えてください。スタンドアロン アプリは 1 つのトピックにすぎませんが、 「母」アプリはすべての異なるトピックへのアクセスを許可し、私が知る限り、Android マーケットはすべてのアプリをダウンロードしてインストールすることを許可していないため、それらのリソースにアクセスできません)。
概念的に言えば、これらのスタンドアロン アプリケーションをライブラリとして作成し、マザー アプリに追加することができれば、この問題は解決します。マザー アプリは、ユーザーの選択に応じてパッケージ文字列を使用し、次にライブラリを使用します。これまでのところ、私はこれを解決できておらず、これに関する情報を見つけることができないため、これを行うことができないのではないかと心配しています.
各トピック アプリケーションには、たとえば、アプリのトピックに関する画像 (ローマ字やギリシャ語の画像など) を含む intro.png があり、package_string.intro.png にアクセスして、適切なトピックに自動的にアクセスすることを目的としています。ユーザーの選択に応じて。