私はアンドロイドアプリで同期表示したいログインビューを持っています。つまり、ユーザーは、ログイン・レスト・コールが完了するまで、そのページに留まることを望みます。失敗した場合、ユーザーは自分のIDとパスワードを再入力できます。成功した場合は、ウェルカムページにルーティングされます。AndroidでRetrofitを使用して同期呼び出しを行う方法
Retrofitは、同期呼び出しを行う方法の例を示します。しかし、「同期リクエストがAndroid 4.0以降でアプリクラッシュを引き起こす」という警告が表示されます。NetworkOnMainThreadException
エラーが発生します。私は、OttoとRobospiceの使用を含むstackoverflowでのさまざまな反応を見てきました。他のユーザーは、自社のリスナーなどを使用して同期要求を使用します。
この機能を実装する最も簡単で安全な方法は何でしょうか。
で次のようになります。質問は結果を私の呼び出し断片に戻す方法です。私はフラグメントのインスタンスを渡すことができましたが、フラグメントがなくなる可能性があるため、これは最善の方法ではないようです。または、私はOttoやRobospiceのようなものを使うことができましたが、それは過剰なもののようです。また、ログイン画面で、認証が進行中であるため、離れて移動しないような表現をしたいと思います。 – user6627139
これは 'onResponse'のためのものです。あなたの呼び出しアクティビティ/フラグメントに応答を送ります。 'enqueue'呼び出しの前に不確定な' ProgressBar'を表示し、 'onResponse'ブロックで非表示にすることができます – akash93
ええ、私はそれをすべて取得します。私が言ったように、それは私が現在やっていることです。私は別のクラス(テスト、再利用など)にログイン休憩リクエストを入れたいと思っていました。フラグメントやアクティビティではなく、自分の応答を送信したり取得したりするロジックがすべて関連付けられていました。その後、フラグメントが私のレストサービスクラスのメソッドを呼び出し、完了時に通知されます。 – user6627139