Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/02/2015, 20:55
robespinosa90
 
Fecha de Ingreso: enero-2015
Ubicación: Guayaquil
Mensajes: 17
Antigüedad: 9 años, 3 meses
Puntos: 0
Información Problema al mostrar datos obtenidos de json

Tengo el sgte codigo en android

Código Java:
Ver original
  1. package conexion;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import java.util.logging.Level;
  6. import java.util.logging.Logger;
  7.  
  8. import json.JSONParser;
  9.  
  10. import org.apache.http.message.BasicNameValuePair;
  11. import org.json.JSONArray;
  12. import org.json.JSONException;
  13. import org.json.JSONObject;
  14.  
  15. import android.app.Activity;
  16. import android.app.ProgressDialog;
  17. import android.os.AsyncTask;
  18. import android.os.Bundle;
  19. import android.util.Log;
  20. import android.view.View;
  21. import android.view.Window;
  22. import android.view.View.OnClickListener;
  23. import android.widget.Button;
  24. import android.widget.EditText;
  25. import android.widget.Toast;
  26.  
  27. import com.example.facturacion_movil.R;
  28.  
  29. public class ViewRegistro extends Activity implements OnClickListener{
  30.    
  31.     EditText txtcod, txtruc,txtnom,txtcor,txtced;
  32.     Button  btnContinuar;  
  33.     String num_fact,fecha,cliente,direccion,correo,cedula,subtotal,descuento,iva,total;    
  34.     // Progress Dialog
  35.     private ProgressDialog pDialog;
  36.  
  37.     // JSON parser class
  38.     JSONParser jsonParser = new JSONParser();
  39.     JSONArray clients;
  40.    
  41.     //testing on Emulator:
  42.     private static final String REGISTER_URL = "http://192.168.1.2:80/tesis/search.php";
  43.  
  44.     //ids
  45.     private static final String TAG_SUCCESS = "success";
  46.     private static final String TAG_CLIENTS = "clients";
  47.     private static final String TAG_MESSAGE = "message";   
  48.     private static final String TAG_NOMBRE = "nombre";
  49.     private static final String TAG_APELLIDO = "apellido";
  50.     private static final String TAG_CORREO = "correo";
  51.  
  52.     @Override
  53.     protected void onCreate(Bundle savedInstanceState) {
  54.         // TODO Auto-generated method stub
  55.         this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  56.         super.onCreate(savedInstanceState);
  57.         setContentView(R.layout.activity_registro);
  58.  
  59.         txtced = (EditText)findViewById(R.id.txtCedCliente);
  60.         txtnom = (EditText)findViewById(R.id.txtNomCliente);       
  61.         txtcod = (EditText)findViewById(R.id.txtCodCliente);
  62.         txtruc = (EditText)findViewById(R.id.txtRucCliente);
  63.         txtcor = (EditText)findViewById(R.id.txtCorCliente);
  64.  
  65.         btnContinuar = (Button)findViewById(R.id.btnContinuar);
  66.         btnContinuar.setOnClickListener(this);
  67.  
  68.     }
  69.  
  70.     @Override
  71.     public void onClick(View v) {
  72.         // TODO Auto-generated method stub
  73.         new CreateUser().execute();
  74.  
  75.     }
  76.  
  77.     class CreateUser extends AsyncTask<String, String, String> {
  78.  
  79.  
  80.         @Override
  81.         protected void onPreExecute() {
  82.             super.onPreExecute();
  83.             pDialog = new ProgressDialog(ViewRegistro.this);
  84.             pDialog.setMessage("Esperando Conexion...");
  85.             pDialog.setIndeterminate(false);
  86.             pDialog.setCancelable(true);
  87.             pDialog.show();
  88.         }
  89.  
  90.         @Override
  91.         protected String doInBackground(String... args) {
  92.             // TODO Auto-generated method stub
  93.             // Check for success tag
  94.             int success;
  95.             String cedula = txtced.getText().toString();           
  96.                      
  97.             try {
  98.                 // Building Parameters
  99.                 List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
  100.                 params.add(new BasicNameValuePair("cedula", cedula));                                          
  101.                 Log.d("request!", "starting");
  102.  
  103.                 //Posting user data to script
  104.                 JSONObject json = jsonParser.makeHttpRequest(REGISTER_URL, "POST", params);
  105.  
  106.                 // full json response
  107.                 Log.d("Registering attempt", json.toString());
  108.  
  109.                 // json success element
  110.                 success = json.getInt(TAG_SUCCESS);
  111.                 if (success == 1) {
  112.                     Log.d("Cliente Encontrado!", json.toString());
  113.                      clients = json.getJSONArray(TAG_CLIENTS);
  114.                      for (int i = 0; i < clients.length(); i++) {
  115.                             JSONObject c = clients.getJSONObject(i);
  116.                             // Storing each json item in variable
  117.                             String nom_cli = c.getString(TAG_NOMBRE+" "+TAG_APELLIDO);
  118.                             String correo = c.getString(TAG_CORREO);
  119.                             Toast.makeText(getApplicationContext(), nom_cli, Toast.LENGTH_LONG).show();
  120.                             txtnom.setText(nom_cli);
  121.                             txtcor.setText(correo);                                            
  122.                      }
  123.                     return json.getString(TAG_MESSAGE);
  124.                 }else{
  125.                     Log.d("Cliente no Encontrado!", json.getString(TAG_MESSAGE));
  126.                     return json.getString(TAG_MESSAGE);
  127.  
  128.                 }
  129.             } catch (JSONException e) {
  130.                 e.printStackTrace();
  131.                 e.getMessage();
  132.                 Logger.getLogger(ViewRegistro.class.getName()).log(Level.SEVERE, null, e);
  133.             }
  134.  
  135.             return null;
  136.  
  137.         }
  138.  
  139.         protected void onPostExecute(String file_url) {
  140.             // dismiss the dialog once product deleted
  141.             pDialog.dismiss();
  142.             if (file_url != null){
  143.                 Toast.makeText(ViewRegistro.this, file_url, Toast.LENGTH_LONG).show();
  144.             }
  145.         }
  146.     }
  147. }

mediante codigo php y con uso de json me busca un dato en una base de datos mysql al probarlo desde el xampp funciona pero al momento de ejecutarlo desde el terminal y tratar de mostrar el resultado de la consulta que son 3 parametros me arroja el sgte error. alguien que me de alguna idea de porque el fallo.

Código Java:
Ver original
  1. 02-22 21:57:17.776: W/System.err(10742): org.json.JSONException: No value for clients
  2. 02-22 21:57:17.791: W/System.err(10742):    at org.json.JSONObject.get(JSONObject.java:355)
  3. 02-22 21:57:17.791: W/System.err(10742):    at org.json.JSONObject.getJSONArray(JSONObject.java:549)
  4. 02-22 21:57:17.791: W/System.err(10742):    at conexion.ViewRegistro$CreateUser.doInBackground(ViewRegistro.java:116)
  5. 02-22 21:57:17.791: W/System.err(10742):    at conexion.ViewRegistro$CreateUser.doInBackground(ViewRegistro.java:1)
  6. 02-22 21:57:17.791: W/System.err(10742):    at android.os.AsyncTask$2.call(AsyncTask.java:288)
  7. 02-22 21:57:17.791: W/System.err(10742):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
  8. 02-22 21:57:17.791: W/System.err(10742):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
  9. 02-22 21:57:17.791: W/System.err(10742):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  10. 02-22 21:57:17.791: W/System.err(10742):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  11. 02-22 21:57:17.796: W/System.err(10742):    at java.lang.Thread.run(Thread.java:841)
  12. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742): null
  13. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742): org.json.JSONException: No value for clients
  14. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at org.json.JSONObject.get(JSONObject.java:355)
  15. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at org.json.JSONObject.getJSONArray(JSONObject.java:549)
  16. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at conexion.ViewRegistro$CreateUser.doInBackground(ViewRegistro.java:116)
  17. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at conexion.ViewRegistro$CreateUser.doInBackground(ViewRegistro.java:1)
  18. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at android.os.AsyncTask$2.call(AsyncTask.java:288)
  19. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
  20. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
  21. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
  22. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
  23. 02-22 21:57:17.796: E/conexion.ViewRegistro(10742):     at java.lang.Thread.run(Thread.java:841)
  24. 02-22 21:57:17.836: E/ViewRootImpl(10742): sendUserActionEvent() mView == null