2016-04-06 15 views
0

EclipseでJava APIを使用するREST APIとAndroidプロジェクト(Android Studio)を提供するJava Webサービスを作成しました。私が今直面している問題は、Java WebサービスとAndroidアプリケーションの両方で同じモデル/ドメインクラスを使用したいということです(AndroidアプリケーションはGradleを使用しますが、WebサービスはMavenを使用します)。Eclipse(Maven)とAndroid Studio(Gradle)の間でJavaモデルクラスを共有

現時点では、私はJava WebサービスとAndroidプロジェクトの両方でモデルクラスに行った変更を手動でミラーリングしています。しかし、これは非常に退屈で、明らかに良い解決策ではありません。

私の質問はこの問題を解決する方法です。モデルクラスを含むMavenモジュールを作成し、Java WebサービスとAndroidプロジェクトにインポートすることを考えました。しかし、これがうまくいくのかどうかは不明です。

私が見ていない解決策はありますか?助けをあらかじめありがとう!

編集:モデルクラス全体を共有するのは実際にはスマートですか? Androidプロジェクトのウェブサービスのすべての属性(たとえば、パスワードはAndroidプロジェクトには格納されませんが、ウェブサービスに保存されている必要があります)を使用することは明らかです。

答えて

0

モデルのライブラリを作成し、プロバイダ(REST API)とコンシューマ(Androidアプリ)の間で共有することができます。これは、モデルレイヤー用のモジュールと、以前のモデル成果物を使用するREST APIレイヤー用のモジュールを持つことができるマルチモジュールのMavenプロジェクトで行うことができます。

このようにすると、モデルリポジトリをローカルリポジトリにインストールしたり、必要に応じて任意の集中リポジトリに配置して、Androidアプリケーションから使用することができます。

しかし、あなたはモデルレベルで消費者とプロバイダを密接に結びつけるため、モデルをそのように共有することを勧めます。それは、それを独立して進化させることをより困難にするでしょう。

+0

私はモデルクラスの共有について心を変えました。あなたのアドバイスを検討します!ありがとうございました。 – Medly

関連する問題