私はアプリを持っていて、その中にこれらの機能があります:
画面:
ホーム{すべてのカテゴリの最近の投稿を表示します(APIは1ページに30件の投稿を提供します)}
カテゴリ{すべてのカテゴリリストを表示}
カテゴリ別{最近の投稿をカテゴリ別に表示(APIは1ページに30件の投稿を提供)}
投稿{コメント付きの投稿の詳細を表示}
ユーザープロファイル{ユーザープロファイルと最近の投稿を表示します(APIは1ページに30件の投稿を提供します)}
プロファイル設定{更新可能なフィールドと更新ボタンを表示}
今、私が混乱しているところ:
最初にストア全体にAPIを入力する必要がありますか、それとも画面が開いたときに各画面に対してAPI呼び出しを行う必要がありますか?
また、更新の場合、たとえば、ユーザーが投稿を気に入った場合、APIが完了するまでスピナーなどを表示する必要がありますか、それともローカルストアの値をすぐに更新してからAPIを呼び出す必要がありますか?
これを解決するための多くのアプローチがあります。私のは:
1)同じストアにもアクセスできるAPIリクエストを処理するモデル/マネージャーを作成します。たとえば、画面がマウントされた場合は、Home.Manager.getNextPage();を使用します。また、APIリクエストを処理する方法と、ページングを処理する方法もすでに知っています。
したがって、すべての計算はマネージャーにあります。データを取得すると、ストアを更新します。
2)いいねを含むアプリを作成したときは、ローカルデータも使用しました。私のアプローチは、最後のように最後から10秒の時間を設定することでした。そのため、ユーザーが複数の投稿を気に入った場合に備えて、一括で送信できます。したがって、サーバーは複数のtcp接続を処理する必要はありませんが、複数のいいねデータを持つ接続を処理する必要があります。
ポイントは、最初にローカルに保存し(サーバーを更新する前にユーザーがアプリを強制終了した場合に備えて)、データ配列に追加するなど、新しくなった場合は10秒間待機し、送信しない場合はさらに10秒間待機することでした。サーバーへのデータ。サーバーがデータベースに保存したことを返すまで、このローカルデータをクリーンアップしないでください
このようにして、ユーザーがサーバーからのフィードバックを待たずに、最初にアニメーションを表示できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加