php - verweigern - neuer stromzähler kosten




Senden von PHP-Array mit POST Android (2)

Ich möchte ein PHP-Array per POST von Android auf PHP-Server senden, und ich habe diesen Code

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
StringEntity dades = new StringEntity(data);
httppost.setEntity(dades);

// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
HttpEntity resEntity = response.getEntity();
return resEntity.getContent();

Ich denke, dass das PHP-Array in StringEntity dades = new StringEntity(data); gehen StringEntity dades = new StringEntity(data); (Daten sind das PHP-Array). Kann mir jemand helfen?


public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");

try {
    // Add your data
    //you can add all the parameters your php needs in the BasicNameValuePair. 
    //The first parameter refers to the name in the php field for example
    // $id=$_POST['id']; the second parameter is the value.
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("id", "12345"));
    nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!"));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
} catch (IOException e) {
    // TODO Auto-generated catch block
}}

Der Code oben sendet ein Array wie [id=12345, stringdata=AndDev is Cool!] : [id=12345, stringdata=AndDev is Cool!]

Wenn Sie ein bidimentäres Array möchten, sollten Sie dies tun

Bundle b= new Bundle();
b.putString("id", "12345");
b.putString("stringdata", "Android is Cool");
nameValuePairs.add(new BasicNameValuePair("info", b.toString())); 

Dadurch wird ein Array erstellt, das ein Array enthält:

[info=Bundle[{id=12345, stringdata=Android is Cool}]]

Ich hoffe, das ist was du willst.


Sie können so etwas tun:

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
nameValuePairs.add(new BasicNameValuePair("colours[]","red"));  
nameValuePairs.add(new BasicNameValuePair("colours[]","white"));  
nameValuePairs.add(new BasicNameValuePair("colours[]","black"));  
nameValuePairs.add(new BasicNameValuePair("colours[]","brown"));  

wo Farbe dein Array-Tag ist. Just Benutzer [] nach Ihrem Array-Tag und setzen Wert. Z.B. Wenn Ihr Array-Tag-Name eine colour ist, verwenden Sie ihn wie colour[] und geben Sie den Wert in loop ein.





http-post