3

画像(Base64エンコード)をサーバーに送信する単純なアプリケーションがあります。PHPスクリプトがBase64データが添付された電子メールを送信するため、サーバーはこのデータを正常に取得します。ただし、タスクが完了した後、トーストは表示されません。データが投稿された後にトーストが表示されるようにするにはどうすればよいですか?

問題は文脈の中にあると思います。

http://pastie.org/2616524

アップデート

アップロードロジックを別の.javaファイルに移動したため、リンクを更新しました。

4

1 に答える 1

0

サンプルは問題ないように見えます。mContext変数が属するActivityが現在アクティブな場合は、表示されるはずです。それ以外の場合はありません。

この変更を試してください:

new UploadImage(ImageUploadActivity.this).execute(sentImage);

http://developer.android.com/guide/topics/ui/notifiers/toasts.htmlAndroidtoast.makeText
コンテキストエラー

編集:AsyncTask
の間違った型の宣言 あなたのAsyncTask宣言は次のようになりますclass UploadImage extends AsyncTask<String, Void, String>

これの意味は:

  • パラメータのタイプですdoInBackground(String... arg)
  • 進歩のタイプです
  • からの結果のタイプdoInBackgroundですonPostExecute

したがって、onPostExecute宣言を次 のように変更します。

protected void onPostExecute(String result)

または、の戻り型をdoInBackground<Bitmap>変更し、クラス宣言を次のように変更します。class UploadImage extends AsyncTask<String, Void, Bitmap>

http://developer.android.com/reference/android/os/AsyncTask.html

于 2011-09-30T11:41:18.267 に答える