entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

Por que no se envían los datos a mi Base de Datos?

Buen dia, tengo este código para realizar el registro de usuarios en una base de datos en la nube pero no se envían los datos me podrian ayudar revisando mi codigo:

Gracias,

public class Main2Activity extends AppCompatActivity {

    Button getBotonRegistrarse;
    EditText TextoNombres, TextoApellidos, TextoCedula, TextoTelefono1, TextoTelefono2, TextoDirecion;

    @Override
    protected void onCreate (Bundle saveInstanceState){
        super.onCreate(saveInstanceState);
        setContentView(R.layout.activity_main2);

        getBotonRegistrarse = (Button) findViewById(R.id.enviar);
        TextoNombres = (EditText) findViewById(R.id.nombres);
        TextoApellidos = (EditText) findViewById(R.id.apellidos);
        TextoCedula = (EditText) findViewById(R.id.cedula);
        TextoTelefono1 = (EditText) findViewById(R.id.telefono1);
        TextoTelefono2 = (EditText) findViewById(R.id.telefono2);
        TextoDirecion = (EditText) findViewById(R.id.direccion);

        getBotonRegistrarse.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                new EnvioPOST().execute("http://naikino.com/pizzeria/php/registrar.php");
            }
        });
    }

    private class EnvioPOST extends AsyncTask<String, Void, String> {
        @Override
        //el metodo doInBackground para hacer en segundo plano
        protected String doInBackground(String... urls) {
            //los parametros son pasados de la ejecucion execute(): url[0] es la url.
            try {

                //url[0] es la url y el 0 indica que vamos ha usar medoto GET
                return downloadUrl(urls[0]);
            } catch (IOException e) {
                return "No se puede recuperar la pagina web. URL puede ser incorrecto.";

            }
        }

        //onPostExecute displays the results of the AsyncTask.
        @Override
        protected void onPostExecute(String result) {
            Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();
        }
    }
    private String downloadUrl(String myurl) throws IOException {
        Log.i("URL", "" + myurl);
        myurl = myurl.replace(" ", "%20"); /// Cambiamos espacios por %20
        InputStream is = null;
        String respuestaComoString = null;
        // Mostrar solo los primeros 500 carapteres del contenido
        // recuperado de la pagina web.
        int len = 500;

        try {
            URL url = new URL(myurl);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setReadTimeout(10000 /* milisegundos */);
            conn.setConnectTimeout(15000 /* milisegundos */);

            conn.setRequestMethod("POST");
            conn.setDoInput(true);
            conn.setDoOutput(true);

            JSONObject variablesMetodoPost = new JSONObject();

            variablesMetodoPost.put("nombres", TextoNombres.getText().toString());
            variablesMetodoPost.put("apellidos", TextoApellidos.getText().toString());
            variablesMetodoPost.put("cedula", TextoCedula.getText().toString());
            variablesMetodoPost.put("telefono1", TextoTelefono1.getText().toString());
            variablesMetodoPost.put("telefono2", TextoTelefono2.getText().toString());
            variablesMetodoPost.put("direccion", TextoDirecion.getText().toString());

            Log.e("params", variablesMetodoPost.toString());
            OutputStream os = conn.getOutputStream();
            BufferedWriter writer = new BufferedWriter(
                    new OutputStreamWriter(os, "UTF-8"));
            writer.write(obtenerDatosStringAEnviar(variablesMetodoPost));
            writer.flush();
            writer.close();
            os.close();

            conn.connect();
            int response = conn.getResponseCode();
            Log.d("respuesta", "la respuesta es: " + response);
            is = conn.getInputStream();
            //convertimos el flujo de entrada en texto
            respuestaComoString = readIt(is, len);

        } catch (JSONException e) {
            e.printStackTrace();

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

        } finally {
            //se asegura de que el InputStream se cierra despues de la aplicacion y
            //es terminado de utilizar
            if (is != null) {
                is.close();
            }
        }

        return respuestaComoString;
    }

    public String obtenerDatosStringAEnviar(JSONObject params) throws Exception {

        StringBuilder result = new StringBuilder();
        boolean first = true;

        Iterator<String> itr = params.keys();

        while (itr.hasNext()) {

            String key = itr.next();
            Object value = params.get(key);

            if (first)
                first = false;

            else
                result.append("&");

            result.append(URLEncoder.encode(key, "UTF-8"));
            result.append("=");
            result.append(URLEncoder.encode(value.toString(), "UTF-8"));

        }
        return result.toString();

    }
    public String readIt(InputStream stream, int len) throws IOException, UnsupportedEncodingException {
        Reader reader = null;
        reader = new InputStreamReader(stream, "UTF-8");
        char[] buffer = new char [len];
        reader.read(buffer);
        return new String(buffer);

    }

    public void inicio(View view) {
        Intent i = new Intent(this, MainActivity.class);
        startActivity(i);
    }

}

1voto

bl4z3r comentado

@omvergara ¿Que error te lanza ese código? ¿Tienes el código de la pagina que lo recibe?

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta