2014-12-29 3 views
0

Я пытаюсь передать данные JSON в службу PHP. Это код, который я должен передавать данные через:Отправка данных JSON в PHP

public class TransmitRegistrationData extends AsyncTask<JSONObject, JSONObject, JSONObject> { 

    String url = "http://kreationware.com/phpimp/RegistrationDataReceiver.php"; 

    @Override 
    protected JSONObject doInBackground(JSONObject... data) { 
     JSONObject json = data[0]; 
     try { 

      DefaultHttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppostreq = new HttpPost(url); 
      StringEntity se = new StringEntity(json.toString()); 
      se.setContentType("application/json;charset=UTF-8"); 
      se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json;charset=UTF-8")); 
      httppostreq.setEntity(se); 
      HttpResponse httpresponse = httpclient.execute(httppostreq); 

     } catch (Exception e) { e.printStackTrace(); } 
      return json; 

    } 
} 

И я заселение и строительство указанных данных в формате JSON как такой

public void buildRegistrationData(String data){ 
     try{ 
      jsonObject.put("registration_data", data); 
      registrationJsonObject.put("registration_information", jsonObject); 
     }catch (JSONException e){ 
      e.printStackTrace(); 
     } 
    } 

Где строковые данные является то, что пользователь вводит. Тем не менее я продолжаю получать пустой массив на стороне PHP. Любая подсказка, где я ошибаюсь?

+0

http://stackoverflow.com/questions/26124087/how-to-connect-mysql-in-my-android-project/26124751#26124751 – Jamil

ответ

0

Две вещи: сначала вы должны использовать магическую библиотеку GSON для сопоставления объектов JSON. Во-вторых, по моему опыту вы должны отправить свои строки JSON в представлении Base64, чтобы избежать проблем с кодировкой. I preffer use Volley HTTP-библиотека, когда мне нужно отправить данные на сервер.

Смежные вопросы