問題タブ [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.
android - RxJava を使用して Android でクリーンな MVP を使用する: UI スレッドを監視しながら、プレゼンターを Android の知識から解放するにはどうすればよいですか?
mvp パターンを使用して Android に「クリーンな」アーキテクチャを実装するために、Android フレームワークをプラグインとして扱い、Android 対応の依存関係をプレゼンター レイヤーに漏らさないようにすることをお勧めします。ビューレイヤーにデータを「プッシュ」するように設計されたプレゼンターがある場合、rxjavaを使用して、次のようなロジックが必要になる場合があります。
ただし、「AndroidSchedulers.mainThread()」を観察することにより、次のものへの依存が強制されます。
その時点で、私のプレゼンターはアンドロイドについて知っており、それに結びついています。避けたいこと。
プレゼンターが Android に関連するものへの依存を維持している間に、結果が Android の UI (メイン) スレッドの ViewLayer に配信されることが保証されるように、これを処理するための推奨される方法は何ですか?
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 コンストラクターがトリガーされました。どうすれば修正できますか
android - プレゼンターを壊さずに MVP モデルからビューに SQLite カーソルを渡すにはどうすればよいですか?
MVP 設計を使用したアプリの実装があり、SQLlite データベースを使用してデータ データを UI にソースしたいと考えていますView
。ContentProvider
データはアプリだけで必要なため、使用したくない/使用する必要はありません。
View
は「ダム」であるべきであり、「ビジネス」ロジックは と に入れる必要があるPresenter
ことを私は知っていModel
ます。ただし、Presenter
スタンドアロンの単体テストを可能にするために、 には Android コードを含めないでください。
では、 SQLite データを から に転送し、Model
でを使用できない場合Presenter
はどうすればよいでしょうか。View
cursor
Presenter
コールバックを使用できますが、独自のデータ構造を作成し、それにデータをロードして、コールバックでリストを渡す「正しい」方法はありますか?
MVP
デザインにこだわりたい。私はこれを死ぬまでグーグルで検索しましたがContext
、Presenter
他のAndroidデータ構造の使用についてはあまりありません。