2017-07-25 5 views
0

私はアンドロイドアプリを持っていますので、パフォーマンスを向上させてインターネットをリクエストする必要があります。 私は.netでWebサービスも持っています。ローカルデータ(Webサービス)を更新する必要があるかどうか確認してください

私は人のプロフィールに入力するとき、私はいつもプロファイルを再度ダウンロードする必要がありますが、私はプロファイル(新しいデータ)をダウンロードする必要があるかどうかを確認します。

私はDate列を作成し、誰かがプロファイルを変更するたびにDate列を更新します。 アンドロイドでlocalDBからロードし、ローカルの「更新日」がリモートのdb(Webサービス)から同じであるかどうかを確認し、そうでない場合はapiからデータをダウンロードします。

その正しい方法は? より良いアプローチは何ですか? intを使って「プロファイルのバージョン」を確認している可能性がありますか?

はあなたに感謝

答えて

0

あなたがそれに接触することなく、Webサーバー上で何が起こっているか、ローカルデバイス上で知ることができません。私はアンドロイドメモリキャッシュやデータベースにプロファイルをキャッシュし、バックグラウンドで新しいデータをチェックするためにWebサービスを呼び出します。

Webサービスのサーバー上のプロファイルもキャッシュします。これは、Webアプリケーションのような他のWebサービスのコンシューマーにとってパフォーマンスを向上させるためです。誰かがプロフィールを変更したとき(POSTやPUTメソッドの中でキャッシュを無効にすることを忘れないでください)。 Webサービスの更新データベースから新しいプロファイルを受け取ったり、アンドロイドで再びキャッシュしたりします。

+0

"Webサーバーで何が起こっているのかわかりませんが、私の質問はそうではありません。私の質問です。私は新しいデータを取得する必要があるかどうかを確認するための列を作成できますAPIから?もしこの列(ローカルは01-01-2017、apiは02-02-2017です)と異なる場合は、同じOKならば何もしません。 –

+0

サーバーのデータベース(SQL、mySQL)にLastDateプロパティ(プロファイルの最終変更日)を設定できます。モバイルデバイスでは、フルプロファイルを要求する前に、そのデータがサーバーのLastDateと一致するかどうかを確認します。あなたはそれを行うことができますが、まだサーバーへの往復を必要とします。 –

+0

ええ、しかし、私は完全なプロファイル(20プロパティ)を常にダウンロードする必要はありません、私は1つのプロパティを送信する必要がありますが、これは良いアプローチですか? –

関連する問題