3

Android 2.2 +のアプリケーションでListViewは、既存のXmlRpcサーバーを使用して通信します。ユーザーは手動でアイテムをに追加しListView、アプリケーションはxmlrpcサーバーからアイテムに関する追加情報を受け取ります。

アプリケーションは次のアクティビティを実行します。

  1. xmlrpcサーバーへの接続をテストします
  2. 手動で追加されたアイテムの情報をサーバーから取得しますListView
  3. 内のすべてのアイテムについてサーバーから情報を取得しますListView
  4. アイテムのリストをサーバーに送信します

私が実施する予定のこれらの活動は次のとおりです。

  1. xmlrpc関数を呼び出すためにonCreate()使用AsyncTaskし、アプリケーションのステータスバーにOK/ERRORを表示します

  2. [追加]ボタンを押した後、AsyncTaskxmlrpc関数を呼び出してアイテムに関する情報(名前、価格、画像)を取得し、追加したばかりのアイテムを更新します。

  3. GET ALLボタンを押した後、AsyncTaskxmlrpc関数を呼び出してリスト内のすべてのアイテム(名前、価格、画像)に関する情報を取得し、次にすべてのアイテムを更新します。

  4. SENDボタンを押した後、IntentServicexmlrpc関数を呼び出すために使用し、ダイアログボックスに結果を表示します。

使用するのは適切ですか、AsyncTaskそしてIntentService私のニーズに合っていますか?ありがとうございました。

4

1 に答える 1

0

すべてのインターネット通信は、別のバックグラウンドスレッド、U NOT HOG UI THREADで行われる必要があります。そうしないと、AndroidOSによってアプリケーションが強制終了されます。リストビューは直接更新されませんが、データとビューを提供するアダプターを介して更新されます。適切なアダプターを作成して構成したとすると、ワークフローは次のようになります。-rpc呼び出しはバックグラウンドスレッドで処理されます-アダプターのデータストアを更新します-notifyDatasetChanged()を介してシグナルを送信します(UIスレッドから)-リストビューはアダプターに提供を要求します表示されているすべてのリストアイテムのビュー-インターフェイスが更新されます。

同じJavaプロセス内にとどまる場合、インテントを混乱させる必要はありません。標準のマルチスレッドで十分です。

于 2012-10-10T08:13:34.937 に答える