0

私は 2 週間、Android で post を使用してデータを投稿する方法を探していました。あらゆる場所を調べ、すべてのソリューションを試しましたが、まだ機能しません。今のところ、私はストリング チェーンを投稿する必要があるだけで、後でいくつかのストリング チェーンの写真を投稿する必要があります。私の実際のコードは次のとおりです。

public String Publication()
{
    try
    {
        Intent intentget = getIntent();
        String titre = intentget.getExtras().getString("titre");
        String poster = titre +"="+getTableau(_tlab, iNbLignes, iNbCol);
        Log.d("reponse","gettableau");
        HttpClient client = new DefaultHttpClient();
        HttpPost post = new HttpPost("http://tweet.envrac.ch/Publication.php");
        Log.d("reponse","url");
        List<NameValuePair> pairs = new ArrayList<NameValuePair>(1);
        pairs.add(new BasicNameValuePair("LabColler", poster));
        Log.d("reponse","pairs");
        post.setEntity(new UrlEncodedFormEntity(pairs));
        Log.d("reponse","encode");
        //bug ici
        HttpResponse response = client.execute(post, new BasicHttpContext());
        Log.d("reponse","post");
        return "reponse =  "+response;
    }
    catch (Exception e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return "erreur";
    }

}

あなたが私を助けてくれることを願っています。

4

4 に答える 4

0

後にこれを追加

HttpResponse response = client.execute(post, new BasicHttpContext());

->

BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) 
{
    Log.e("HttpResponse", line);
}

また、マニフェストのインターネット許可とURLの許可されていない記号を確認してください。

于 2012-05-21T08:39:30.733 に答える
0

たぶん、このコードはあなたを助けることができます.

ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

        nameValuePairs.add(new BasicNameValuePair("firstname", str_firstName));
        nameValuePairs.add(new BasicNameValuePair("middlename", str_middleName));
        nameValuePairs.add(new BasicNameValuePair("lastname", str_lastName));

        try{
            HttpClient httpClient = new DefaultHttpClient();
            URI uri = URIUtils.createURI("http","www.abc.com", -1,                              "dosomething.php",
                    URLEncodedUtils.format(nameValuePairs, "UTF-8"), null);
            Log.i("URI : " , uri.toString());
            HttpPost httpPost = new HttpPost(uri);
            HttpResponse response = httpClient.execute(httpPost);

            HttpEntity entity = response.getEntity();
           }catch (Exception e) {
            Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();
        }
于 2012-05-21T08:37:17.353 に答える
0

コードを少し変更しました。これを試してください

public String Publication()
{
    try
    {
        Intent intentget = getIntent();
        String titre = intentget.getExtras().getString("titre");
        String poster = titre +"="+getTableau(_tlab, iNbLignes, iNbCol);
        Log.d("reponse","gettableau");
        HttpClient client = new DefaultHttpClient();
        ResponseHandler<String> res = new BasicResponseHandler(); //newly added line
        HttpPost post = new HttpPost("http://tweet.envrac.ch/Publication.php");
        Log.d("reponse","url");
        List<NameValuePair> pairs = new ArrayList<NameValuePair>(1);
        pairs.add(new BasicNameValuePair("LabColler", poster));
        Log.d("reponse","pairs");
        post.setEntity(new UrlEncodedFormEntity(pairs));
        Log.d("reponse","encode");
        //bug ici
        HttpResponse response = client.execute(post, res); // Changed line
        Log.d("reponse","post");
        return "reponse =  "+response;
    }
    catch (Exception e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return "erreur";
    }

}
于 2012-05-21T08:37:35.497 に答える
0

これは、値をサーバーに投稿するために使用したコードです。正常に動作します。可能であれば、このコードを自分のコードに変更することを意味します。

public void executeMultipartPost() throws Exception {
    try {
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        bm.compress(CompressFormat.JPEG, 75, bos);
        byte[] data = bos.toByteArray();
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost postRequest = new HttpPost(
                "http://10.0.2.2/cfc/iphoneWebservice.cfc?returnformat=json&amp;method=testUpload");
        ByteArrayBody bab = new ByteArrayBody(data, "forest.jpg");
        // File file= new File("/mnt/sdcard/forest.png");
        // FileBody bin = new FileBody(file);
        MultipartEntity reqEntity = new MultipartEntity(
                HttpMultipartMode.BROWSER_COMPATIBLE);
        reqEntity.addPart("uploaded", bab);
        reqEntity.addPart("photoCaption", new StringBody("sfsdfsdf"));
        postRequest.setEntity(reqEntity);
        HttpResponse response = httpClient.execute(postRequest);
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                response.getEntity().getContent(), "UTF-8"));
        String sResponse;
        StringBuilder s = new StringBuilder();

        while ((sResponse = reader.readLine()) != null) {
            s = s.append(sResponse);
        }
        System.out.println("Response: " + s);
    } catch (Exception e) {
        // handle exception here
        Log.e(e.getClass().getName(), e.getMessage());
    }
}
于 2012-05-21T08:48:56.550 に答える