2011-12-23 2 views
0

データベースがあり、JSON Webサービスを使用してHTTP経由でデータを提示する必要があります。現在、私はWebサービスとして提供されるJSONデータセットを設計しています。テーブルのデータは、アプリケーションに必要なスイートに集約されます。Webサービスを提供する:JSONデータを2つのデータセットに分割するベストプラクティスは何ですか?

データサイズが大きく、一度にダウンロードしようとすると時間がかかりすぎるため、起動時にアプリが応答しなくなります。それは良くないね。アプリケーションがデータをダウンロードするために行うHTTPリクエストの数を最小限に抑える必要があることはよく知られています。しかし、データを小さなチャンクに分割すると、すべてのアプリケーションアクションステップ中にアプリがHTTPリクエストを実行し、それも応答しない解決策になる可能性があります。

ここではモバイルアプリの開発について話しています。インターネットは携帯電話のISPやWi-Fiで公開されるため、速度はかなり遅くなる可能性があります。分割プロセスはアプリのワークフロープロセスなどに依存していると私は理解しています。たとえば、JSONデータが1MBより大きい場合、それを間違いなく小さな塊に分割します。

+3

まず、uiスレッドでインターネット操作を行うべきではありません。2番目の移動は、コンテンツプロバイダを構築し、sqliteのデータをキャッシュするサービスにデータコードをダウンロードしてください。 – Selvin

答えて

0

メールの読み取りの仕組みを見てください。おそらくあなたのアカウントには何万もの電子メールがあります。アプリは最初のものを表示し、リストの一番下にボタンを表示してより多くのアイテムを表示します。通常、多くのデータを提供するのはかなり良い解決策です。

また@Selvinのアイデアは素晴らしいです。 UIスレッドを使用してダウンロードしたり、別のスレッドを使用したりしないでください。サービスはデータを非同期的に取得するのには非常に適しています。

0

1つの方法は、ネットワークがあるときに開始されるサービスを作成することです。ダウンロードしたすべてのデータはsqliteにキャッシュされ、コンテンツプロバイダを使用してデータを取得できます。しかし、あなたのアプリに依存します。

場合によってはUI画面によって異なります。たとえば。負荷の高いリストビューを作成することができます。クリックすると、余分なデータが読み込まれます。

他の方法は、タイムスタンプに基づいて更新のみを提供するAPIを作成することです。しかし、そのすべてはアプリに依存します。私のアイデアを共有するだけです。完璧ではないかもしれない。他の人たちは確かにより良いものを与えることができます。

関連する問題