私のアプリにはいくつかありFragments
ます。それぞれが、サーバーからのリソースに対してGET要求を行うをFragment
開始します。Service
各応答はjson配列であり、オブジェクトに解析されてデータベーステーブルに保存されます。その後Intent
、サービスを開始したフラグメントにブロードキャストされ、問題のテーブルをクエリしてオブジェクトをリストに表示します。したがって、各fragment-service-dbtableは一意のタイプのオブジェクトを処理しますが、それ以外のコードは、基本的に各Fragment-Serviceペア間で同一です。
NewsFragment, NewsPostsRequestService (deals with NewsPostObjects)
UserFragment, UserRequestService (deals with UserObjects)
FavoritesFragment, FavoritesRequestServices (deals with FavsObjects)
等。
コードの重複を回避して、1つのフラグメントと1つのサービスをすべてのリクエストに使用できるようにするにはどうすればよいですか?1つのオプションは、状態をパラメーターとして渡すことです。
CustomFragment fragment = CustomFragment.newInstate(NewsState);
次に実行します(擬似コード):
if(mState==NEWS) apiRequest("/news")
else if(mState==USERS) apiRequest("/users")
等々。
ただし、フラグメントとサービスが要求するリソースから完全に独立し、保存先のデータベーステーブルと処理するオブジェクトタイプが完全に独立していて、新しい要求を簡単に追加できるソリューションが理想的です。これはどのように達成できますか?