2011-12-18 5 views
0

2つのアクティビティを含むアプリケーションを作成しました。 最初の1つは - 私はギャラリーから画像を選択するオプションをユーザーに与える必要があり、私はいくつかのサーバーにこの画像を送信します。 サーバは何らかの結果を返します。結果がOKであれば、2番目のアクティビティを表示する必要があります。「お待ちください」を表示してGUIのハングアップを回避するにはどうすればよいですか?

私が持っている問題..

  1. に画像を送信する - 私は、画面が黒くなるされていることがわかり... 私はこの問題を回避すると「お待ちください」のいくつかの素敵なGUIを表示したいです - どうすればいい?

  2. 私はこの送信イメージを他のスレッドからサーバーに送信したいと思っています - どうすればアンドロイドからすることができますか?スレッドが完了したときに呼び出されるコールバックで新しいスレッドを定義する方法は?

ありがとうございました。質問番号1の場合

答えて

1

は、あなたが使用する必要がありますProgressDialogや操作が実行されていることをユーザに示すためにProgressBar。詳細については、ここで確認できます。質問番号2の場合http://developer.android.com/reference/android/app/ProgressDialog.html

: 良い解決策は、あなたの動作を制御するためのコールバック関数のセットを提供します。この操作にAsyncTaskを使用することです。詳細については、ここをクリックしてください:http://developer.android.com/reference/android/os/AsyncTask.html

これが今のところ役立つことを願っています!

1
  1. カスタムレイアウトを定義し、Activity.setContentViewメソッドを使用して、必要なものをGUIに配置できます。例えばProgressBarウィジェットを置くことができます。

  2. ご存じのように、あなたはJava SEであなたのAndroidアプリケーションを作成しました。スレッドは完全にサポートされています。

1

この質問には、問題を解決する回答があります。その答えを最初に使用して、特定の部分に問題がある場合はお知らせください。

Download image for imageview on Android

幸運

2

asynctaskを使用してください。それは次のようになります:

public void sendImage() { 
    SendToServer.execute(); 
} 

protected class SendToServer extends AsyncTask<Void, Boolean, Void> 
{  

    @Override 
    protected void onPreExecute() 
    { 
     //display your dialog 
    } 

    @Override 
    protected Boolean doInBackground(Void... arg0) { 

     //code to send your image to the serve 
    } 

    @Override 
    protected void onPostExecute (Boolean updateSuccess) 
    {  
     //close your dialog 
     //If image was successfully sent open your other activity 
    } 
} 
関連する問題