2011-09-13 13 views
0

私は、タブレットデバイスのテキストだけを含むHTMLページを表示するアンドロイドアプリケーションを開発中です。デバイスはオンになり、このページを長時間(数時間)表示します。このページのテキストは時折変更されます。ウェブページの更新をトリガーする

ページのテキストを変更するには、新しい文字列を入力するフォームと、ASPを使用して最初のページの新しいバージョンを生成して上に保存するサブミットボタンを別々に作成しました元のコピーのこれは設定され、素晴らしい作業ですが、常に最新のメッセージを表示するためにページを頻繁に更新する必要があります。

新しいメッセージが保存されたときにのみリフレッシュをトリガできる方法を探しています。そうすれば、毎分ページをリフレッシュする必要はありませんが、新しいメッセージはタイムリーに表示されます。

+0

これは「プッシュ」と呼ばれます。あなたは "ウェブサイトのプッシュ"のためのGoogleをして、これを処理する多くの方法を読むことができます。 –

答えて

1

HTTPは、ステートレスプル型(ファイルアップロードを無視した)プロトコルとして構築されています。サーバーはクライアントにデータをプッシュできません。クライアントは実際にサーバーに新しい情報をポーリングする必要があります。

ただし、Webページ全体を生成してクライアント側でページを更新する代わりに、JSONをトランスポートプロトコルとして使用するAJAX呼び出しを使用すると、オーバーヘッドを最小限に抑えることができます。オーバーヘッドは、ほとんどすべてのアプリケーションで最小限に抑える必要があります。

+0

HTTPにプッシュをシミュレートするメカニズムがあります。本質的に、あなたはハンギングGETを使用します。あなたはGETリクエストを行い、サーバはすぐに応答しません。プッシュしたいときに応答します。これを実際のPUSHのように見せるために、すべての詳細を処理(および再起動)するフレームワークがあります。 –

+0

もちろん、プル技術に基づくハックだけです。私の答えは技術的に正しいです:) – Blindy

+0

クライアントがJavaScript WebSocketをサポートしている場合、サーバー**は**データをプッシュできます。これはHTTPではありませんが、実装は簡単です。 –

0

あなたがウェブアプリケーションだったのなら、私はさまざまなCometフレームワークを調べることをお勧めします。

http://www.google.com/search?q=comet+framework

しかし、あなたはその周りにAndroidのシェルを持っているので、あなたが戻ってあなたのサーバーへのソケット接続を行うことができますし、それがリフレッシュする時が来たときに、サーバーの信号を持っています。基本的には同じですが、Javaでより快適な場合は、JavaScriptでプッシュをコーディングする必要はありません。

関連する問題