0

カメラで撮影した画像をサーバーにアップロードするアプリを取得しようとしています。問題なく完全に問題なくURLにアクセスできるため、サーバーではないことはわかっています。私はError in http connection android.os.NetworkOnMainThreadExceptionエラーとして取得しています。これが私が使用しようとしているコードです。

public void uploadFile(Bitmap file) {
        Bitmap bitmapOrg = file;
        ByteArrayOutputStream bao = new ByteArrayOutputStream();
        bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 90, bao);
        byte[] ba = bao.toByteArray();
        String ba1=Base64.encodeBytes(ba);

        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("image",ba1));

        try {
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://example.info/appserver/upload.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
        } catch(Exception e){
            Log.e("log_tag", "Error in http connection "+e.toString());
        }

    }
4

1 に答える 1

3

ネットワーク アクティビティはメイン スレッド (UI スレッド) では実行できません。これは、アプリケーションがユーザーにどのように感じられるかに劇的な影響を与えるためです。ソリューションについては、 AsyncTasks を使用したネットワーク アクセスの実行に関するトレーニング ドキュメントをご覧ください。

于 2013-03-10T22:26:37.807 に答える