2016-11-21 3 views
0

私はMVPパターンを使用して最初のAndroidアプリを構築しています。 私がBaseActivityの使用法を処理する方法を除き、すべてがかなり明白です。MVPとBaseActivity - ベストプラクティス

BaseActivityの目的は、例えば、他のアクティビティに共通する可能性があるいくつかの他のメソッドと同様に、navigationDrawer、オプションメニューを持つことです。

私の質問は以下のとおりです。あなたがMVP構造でBaseActivityを処理するにはどうすればよい

  • 契約を作成しますか?
  • 一般的なメソッドをBaseActivityの代わりにutilsクラスに入れて、Presenterで呼び出せますか?それは常に可能であることを確認していない
私はあなたの最高のアドバイスを楽しみにしてい

ここ

である私の現在の構造:あなたはあなたのことをそこにすべてのコードを配置する必要があり

Current MVP Structure

+0

あなたはBaseActititiesでこれhttp://www.tinmegali.com/en/model-view-presenter-mvp-in-android-part-2/ Seetに見てくださいをすべての活動を延長することができます最初のコメント – Kathi

+0

私はそれに乗っていましたが、 "BaseActivityパターンの意味を正確にはわかりません"というコメントのあなたの答えです;) – Isabelle

答えて

1

やあ、

  1. をいずれかの設定を必要といけませんツールバーの。

  2. タイトルやその他のものを基本アクティビティから直接設定することができます。

  3. ベースアクティビティから直接カリグラフィを使用してフォントを設定します。

  4. レイアウトを設定する基本活動の

  5. 宣言バターナイフが

  6. は、APIの呼び出し中に例外を処理します。

  7. ライフサイクルの管理方法を抽象的な方法で定義します。

など多くのことが、基本的なアクティビティで可能です。

MVPを使用してコードを最適化します。

Presenterですべてのビジネスロジックを行います。

私はプロジェクトベースを1つ作成しています。

詳細はdetailsを参照してください。

おかげ

+1

ありがとう、あなたのリンクはちょうど素晴らしいです。ありがとうございました! – Isabelle

0

すべての活動の間で共有したいプレゼンターは、共通の方法で提供することができます。プレゼンターにアクティビティのライフサイクルを認識させたい場合は、プレゼンターのライフサイクルメソッドを呼び出すことができます。通常、私は独自のプレゼンターを持つ別のビューとしてスライドメニューを実装します

0

アンドロイドのMVPで - あなたのビューです onActivityCreated(...)ではプレゼンターを作成します。 画面間のナビゲーションは、ビューで宣言します。

実際にあなたがプレゼンターのためのインタフェースを作成する必要はありません。 http://blog.karumi.com/interfaces-for-presenters-in-mvp-are-a-waste-of-time/

ベスト・プラクティス:あなたは多くのものを扱うことができるMVPパターンを使用してhttps://github.com/googlesamples/android-architecture

関連する問題