問題タブ [android-mvp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1501 参照

android - RxJava を使用して Android でクリーンな MVP を使用する: UI スレッドを監視しながら、プレゼンターを Android の知識から解放するにはどうすればよいですか?

mvp パターンを使用して Android に「クリーンな」アーキテクチャを実装するために、Android フレームワークをプラグインとして扱い、Android 対応の依存関係をプレゼンター レイヤーに漏らさないようにすることをお勧めします。ビューレイヤーにデータを「プッシュ」するように設計されたプレゼンターがある場合、rxjavaを使用して、次のようなロジックが必要になる場合があります。

ただし、「AndroidSchedulers.mainThread()」を観察することにより、次のものへの依存が強制されます。

その時点で、私のプレゼンターはアンドロイドについて知っており、それに結びついています。避けたいこと。

プレゼンターが Android に関連するものへの依存を維持している間に、結果が Android の UI (メイン) スレッドの ViewLayer に配信されることが保証されるように、これを処理するための推奨される方法は何ですか?

0 投票する
0 に答える
467 参照

android - アクティビティから Fragments プレゼンターのメソッドを呼び出す [Dagger 2 + MVP]

2 つの異なるフラグメントがあり、両方とも 2 つの異なるアクティビティで使用されます。どちらのアクティビティのレイアウトにも、フラグメント コンテナーとして使用するフレーム レイアウトが 1 つあります。

どれが;

フラグメント: MapFragment、ListFragment

アクティビティ: HomeActivity、SearchActivity。

HomeActivity について話しましょう。

HomeActivity は、アクティビティの onCreate に ListFragment と MapFragment を挿入し、挿入されたフラグメントをそのレイアウトにプッシュします (最初にフラグメントをリストします)。その後、アクティビティは、挿入されたフラグメントのプレゼンター メソッドを呼び出して、サービスの結果をリストまたはマップに表示します。

コード; フラグメント側;

_

ListFrgPresenter:

チャレンジリストフラグメント:

活動面:

HomeActivity コンポーネント:

HomeActivityModule;

ホームアクティビティ:

更新: 問題は次のとおりです。initComponent メソッドの HomeActivity に challengeListFragment を注入する必要があります。また、同じ場所でパラメータとして ChallengeListFrgModule に challengeListFragment オブジェクトを渡す必要があります。ここで問題が発生したと思います。ChallengeListFragment オブジェクトの注入が完了する前に、ChallengeListFrgModule コンストラクターがトリガーされました。どうすれば修正できますか

0 投票する
1 に答える
872 参照

android - プレゼンターを壊さずに MVP モデルからビューに SQLite カーソルを渡すにはどうすればよいですか?

MVP 設計を使用したアプリの実装があり、SQLlite データベースを使用してデータ データを UI にソースしたいと考えていますViewContentProviderデータはアプリだけで必要なため、使用したくない/使用する必要はありません。

Viewは「ダム」であるべきであり、「ビジネス」ロジックは と に入れる必要があるPresenterことを私は知っていModelます。ただし、Presenterスタンドアロンの単体テストを可能にするために、 には Android コードを含めないでください。

では、 SQLite データを から に転送し、Modelでを使用できない場合Presenterはどうすればよいでしょうか。ViewcursorPresenter

コールバックを使用できますが、独自のデータ構造を作成し、それにデータをロードして、コールバックでリストを渡す「正しい」方法はありますか?

MVPデザインにこだわりたい。私はこれを死ぬまでグーグルで検索しましたがContextPresenter他のAndroidデータ構造の使用についてはあまりありません。