2

既存の Java アプリケーションを Android に移植しようとしており、ソース コードを管理するためのベスト プラクティスを知りたいです。

私たちは大きなプロジェクトをいくつかの不可知なプロジェクトに分解しましたが、まだ大きなモノリシック プロジェクトがあります。これらの小さなフレームワークについては、多くの作業を行う必要はありませんが、大きなフレームワークについては書き直す必要があります。

当分の間、開発者がアプリを Android に移植していますが、他の開発者は Android 以外のプロジェクトで新機能の開発を続けています。移植が完了したら、すべての変更を Android コード ベースに再マージする必要がありますが、これは非常に面倒です。私の質問は、コード ソースをどのように管理すればよいかということです。プラットフォームごとに特定のリポジトリを作成する必要がありますか? 2 つのコード ベースを同じリポジトリに保持する必要がありますが、マージが容易になるように異なるブランチを指すようにする必要がありますか?

4

2 に答える 2

3

おそらくソース管理の問題ではありません。抽象移植レイヤーを作成してみてください。アプリケーションを実行するために必要なすべての API を抽象化します。次に、たとえば SWT の下で、SWT API を使用してその移植レイヤーを実装し、たとえば Android の下で、Android API を使用して同じレイヤーを実装します。

想像できます:

public interface ISoundEngine {
void startSound();
void stopSoud();
}

アプリの残りの部分では、startSound/stopSound を使用してエンジンを操作します。

したがって、ウィンドウの下で実装します

public WindowsSoundEngine implements ISoundEngine {
...
}

あなたが実装するAndroidの下で

public AndroidSoundEngine implements ISoundEngine {
...
}

いずれの場合も、Windows 固有および Android 固有の低レベル API を使用します。

于 2012-11-26T08:27:34.467 に答える
0

私が見る唯一の良い解決策は、すべての共通コードをライブラリに移動することです。独自に開発できます。次に、Swing UI、Android UI などのプロジェクトを作成します。ロジックにプラットフォーム固有のサービス (データ ストレージ、通知など) が必要な場合は、クライアントが共通ライブラリを呼び出すときに、Alex のメソッドを使用して適切なライブラリを渡します。

于 2012-11-26T09:08:26.923 に答える