2012-05-22 42 views
0

晚安,發送來自servlet的數據,Android應用程序與JSON

我試圖從Java編寫的數據名稱的JSON在Android的應用程序一個servlet發送。

我不能說我做錯了,但是當涉及到移動短信來了一個奇怪的文字。

下面我介紹的代碼:

的servlet:

if (opcion.equals("4")){//Devolver nombre, apellidos y DNI de Usuario 

     String usuario = request.getParameter("login"); 
     Usuario user = facade.getUsuarioByLogin(usuario); 

     String nombre= user.getNombre(); 
     String apellidos = user.getApellidos(); 
     String dni = user.getDni(); 

     System.out.println("El valor de Nombre es"+nombre); 


     response.setContentType("application/json"); 

     JSONObject json = (JSONObject) JSONSerializer.toJSON(nombre); 

     //System.out.println("El valor de json"+json.toString()); 
     out.println(json); 

     out.close(); 
    } 

的是得到JSON的Android應用程序代碼塊(我忽略了嘗試捕捉,使代碼更易讀):

HttpClient cliente = new DefaultHttpClient(); 

    HttpPost post = new HttpPost (url.toString()); 


    ResponseHandler<String> handler = new BasicResponseHandler(); 

    List<NameValuePair> elementos = ele; 


     post.setEntity(new UrlEncodedFormEntity(elementos)); 

    HttpResponse respuesta = null; 

     respuesta = cliente.execute(post); 


    Log.i("Prueba", "El valor de respuesta es "+respuesta.toString()); 

我認爲respuesta應該有這個servlet送我的JSON,但它返回一個不包含名稱的文本

你看到的東西,你做錯了什麼?

問候和感謝

回答

0

你忘了在ResponseHandler通入HttpClient#exeucte()方法。

更換

HttpResponse respuesta = null; 
respuesta = cliente.execute(post); 
Log.i("Prueba", "El valor de respuesta es "+respuesta.toString()); 

通過

String respuesta = cliente.execute(post, handler); 
Log.i("Prueba", "El valor de respuesta es " + respuesta); 
相關問題