SOの周りを検索していくつか見つけましたが、まだ完全に理解していないので、説明をお願いします。
これが私が必要とするものです:
特定の機能を持つプロジェクトがあります:Webサービスに問い合わせ、さまざまなビューで結果を表示します
最初のプロジェクトとまったく同じ機能を持つ2番目、3番目、4番目のプロジェクトがありますが、スプラッシュ画面の画像、アイコン、名前、パッケージ名などのグラフィック要素が異なります。
だから、私はProjectCore
活動と機能を持っています。スプラッシュスクリーン用の車のアイコンと車の画像を含むProject1。スプラッシュスクリーン用の飛行機アイコンと飛行機画像を含むProject2。そんな感じ。各プロジェクトには、「appId、appName、appServerURL」などの定数を持つクラスがあります...すべてのWebサービス呼び出し、データ表示はすべてのプロジェクトで同じであるためCoreにあり、読み取りのみがConstantsクラスから行われます。
私はこのアプローチを考えていました
- ProjectCoreをcom.domain.coreやダミー画像などのパッケージでライブラリプロジェクトにします
- Project1を作成し、その中にProjectCoreへの参照を追加し、com.domain.code.project1のようなパッケージを使用して、resourcesフォルダーにコアプロジェクトと同じ名前の画像を配置します
- Project1と同じ原則でProject2を作成します
このアプローチは機能しますか?
ありがとう。
後で編集します。私は前に述べたように試しました。たとえば、コアプロジェクトでは、ドローアブルにsplash.pngというファイルがありました。Project1とProject2のドローアブルフォルダに、spash.pngファイルを他の画像と一緒に配置しました。これは正常に機能します。私の携帯電話でProject1とProject2を実行し、それぞれのアプリを独自のイメージで起動しました。ここまでは順調ですね。
次に、アプリで使用する必要のある定数が異なるため、コアライブラリプロジェクトに移動して次のように追加しました。
public class C {
public static String SomeConstant = "Project core!";
}
ここに問題があります。Project1とProject2で異なる定数値を設定する必要があります。Coreプロジェクトでは、クラスはたとえばcom.domain.core.utilsにあるため...Project1とProject2に同じパッケージを追加することはできません。クラスを追加して、それらの値を更新し、特定の値で各プロジェクトで使用できるようにするにはどうすればよいですか?
public class C {
public static String SomeConstant = "Project 1 constant!";
}
public class C {
public static String SomeConstant = "Project 2 constant!";
}
ありがとうございました!