httpリクエストの進行中にProgressBarをスピンさせます。
それはすべて、私が突然アンドロイドのために何かをしたかったという事実から始まりました。 そして、これらはすべて、javaが私の母国語ではないという事実にもかかわらずです。
アプリケーションを作成する過程で、いくつかの困難に直面しました。その解決策を教えてください。 私と同じように、初心者にとっても役立つと思います。指導者からのアドバイスやより美しい例に感謝します。
しかし、例のパフォーマンスの主な確認は、アプリケーションが機能していることです。
確認できます。
私が遭遇したいくつかの問題は次のとおりです。
- UIはサーバーからの応答を待っていますが、勝つ方法は? (この記事では)
- データの送受信-どの形式で? (次に、誰かが興味を持っている場合)
- カメラの使用方法 (もし誰かが興味があるなら、以下でも)
とりあえず最初の問題を考えてみましょう。
UIはサーバーからの応答を待っていますが、勝つ方法は?
サーバーとの対話がこのアプリケーションの鍵です。 アプリケーションがサーバーに要求を送信するとき、応答を待つ必要があります。 この待機中に、ユーザーインターフェイスが停止し、プログラムがクラッシュしたようです。 回答が1秒以内に受信されても問題ありませんが、実際には、サーバーからの応答を待機するのに約10秒かかることがあります。 アプリケーションがハングしないことをユーザーに通知するには、ProgressBarを表示する必要があります。 AJAXのように、私は糸車に落ち着きました。 これは次のようなものです。
おおよその仕組みを説明します。 私はいくつかのクラスHttpClientを持っています。サーバーとのやり取りを担当します。 ProgressBarを開始および停止します。 このクラスは非同期に動作します。 つまり、アプリケーションは、起動することで動作するまで待機せず、動作を継続できます。 これは、次の構成によって実現されます。
HttpClientを呼び出す親クラスは次のようになります。
public class SearchableActivity extends ListActivity implements Runnable { private HttpClient req; ...
Runnableの道を進んだという事実は、私にとって非常に議論の余地があるように思えますが、その時点では他に考えはありませんでした。
しかし、私はこの記事で非同期に写真をダウンロードして表示することを学びました:
habrahabr.ru/blogs/android/78747 失礼しました !
All Articles