0

私はアンドロイド開発の初心者です。最初のアクティビティには 2 つのアクティビティがあり、インテントを使用して次のアクティビティを呼び出すボタンのみがあり、2 番目のアクティビティでは実際の作業を行っています。つまり、SOAP を使用して Web から値を取得しています。したがって、私の問題は、最初のアクティビティから2番目のアクティビティに移動すると、Webからの応答が大きいため、次のアクティビティが完全に読み込まれるまで黒い画面が表示されることです。この黒い画面を回避するために、1 番目のアクティビティから 2 番目のアクティビティが完全にロードされるまでの進行状況バーを追加したいと考えています。誰かがこれについて何かアイデアを持っていますか。前もって感謝します.....

4

1 に答える 1

1

私の意見では、あなたには4つの現実的な解決策があります

1 -スレッド

2-非同期タスク

3-サービス

4-外部ライブラリ

小規模なダウンロードを頻繁に行う場合は、従来のTheadingが最適なオプションであり、おそらくそれを管理するサービスが必要ですが、強制ではありません。

1 回の簡単なダウンロードでは、Asynctaskを単独で使用できます。それで十分かもしれませんが、このメソッドについていくつかのことを知っておく必要があります。

サービス良し、使えます。リクエストを管理するには、サービスを使用したダウンロード モジュールを使用することをお勧めします。

迅速で効率的な開発のための最善の解決策は、作業を行うライブラリを使用することです。しかし、あなたの場合、SOAPを使用しています... Jsonを使用している場合は、非常に優れた高速なVolleyを利用できます。

たぶん、よく知られているこれを使用してみてください

http://code.google.com/p/ksoap2-android/

http://code.google.com/p/ksoap2-android/wiki/HowToUseの方法


操作を実行する瞬間には、いくつかの解決策があります

1- UIをブロックせずにバックグラウンドで、ビューごとにUIビューを更新します

2-読み込み画面を使用する (ユーザー エクスペリエンスには悪いですが、選択の余地がない場合もあります)

あなたの場合、おそらく ProgressDialog を使用して、最初のアクティビティと2番目のアクティビティの間にロード画面があります

于 2013-09-26T09:28:09.077 に答える