Registrar Usuario php mysql en android


Buenas de nuevo, hoy les traigo un nuevo tutorial de como pasar los datos de android a una base de datos en mysql .

Hoy haremos un ejercicio simple que constara en una web service, que nos permitirá hacer un registro simple. Primero veremos en una imagen como es la estructura.
¿Que vamos a utilizar?:
Un servicio Apache con Mysql
Un WebService
Una base de datos”ws_insertar” para almacenar datos
NOTA: Al final del post les dejare los archivos
Primero crearemos nuestra base de datos en mi caso le puse de nombre ws_insertar, luego creamos nuestra tabla personas.
CREATE TABLE IF NOT EXISTS `personas` (
  `dni` varchar(8) NOT NULL,
  `nombre` varchar(60) NOT NULL,
  `telefono` varchar(15) NOT NULL,
  `email` varchar(60) NOT NULL,
  PRIMARY KEY (`dni`)
)
Creamos nuestro insertar.php
<?php
$hostname_localhost ="localhost";  //nuestro servidor
$database_localhost ="ws_insertar";//Nombre de nuestra base de datos
$username_localhost ="root";//Nombre de usuario de nuestra base de datos (yo utilizo el valor por defecto)
$password_localhost ="12345";//Contraseña de nuestra base de datos (yo utilizo por defecto)
$localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost)//Conexión a nuestro servidor mysql
or
trigger_error(mysql_error(),E_USER_ERROR); //mensaaje de error si no se puede conectar
mysql_select_db($database_localhost, $localhost);//seleccion de la base de datos con la que se desea trabajar
//variables que almacenan los valores que enviamos por nuestra app, (observar que se llaman igual en nuestra app y aqui)
$nombre=$_POST['nombre'];
$dni=$_POST['dni'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];

if (empty($_POST["dni"]) AND $_POST["nombre"]!==''){
echo "Faltan DATOS los campos estan vacios";
}else{

$query_search = "insert into personas(nombre,dni,telefono,email) values ('".$nombre."','".$dni."','".$telefono."','".$email."')";//Sentencia sql a realizar
$query_exec = mysql_query($query_search) or die(mysql_error());//Ejecuta la sentencia sql.
}
?>

 

 

ya tenemos nuestra BD y nuestra parte php que servirá para la web service. Si todo han configurado y creado bien deben ir a su navegador en la siguiente ruta localhost/ws_insertar/insertar.php y debe salirse lo siguiente. Los errores son porque no están enviando ningún dato para registrarse.

 

 

 

 

 

Ahora toca la parte Android. creamos una aplicación nueva y agregamos los siguientes campos como esta en la imagen.

 

 

MainActivity

public class MainActivity extends AppCompatActivity {

    private EditText dni;
    private EditText nombre;
    private EditText telefono;
    private EditText email;
    private Button insertar;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        dni= (EditText)findViewById(R.id.txtDni);
        nombre= (EditText)findViewById(R.id.txtNombre);
        telefono = (EditText)findViewById(R.id.txtTelefono);
        email = (EditText)findViewById(R.id.txtEmail);
        insertar = (Button)findViewById(R.id.btnInsertar);
        insertar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(!dni.getText().toString().trim().equalsIgnoreCase("")||
                        !nombre.getText().toString().trim().equalsIgnoreCase("")||
                        !telefono.getText().toString().trim().equalsIgnoreCase("")||
                        !email.getText().toString().trim().equalsIgnoreCase(""))

                    new Insertar(MainActivity.this).execute();

                else
                    Toast.makeText(MainActivity.this, "Hay información por rellenar", Toast.LENGTH_LONG).show();
            }
        });
    }

    //Insertamos los datos a nuestra webService
    private boolean insertar(){
        HttpClient httpClient;
        List<NameValuePair> nameValuePairs;
        HttpPost httpPost;
        httpClient = new DefaultHttpClient();
        httpPost = new HttpPost("http://192.168.1.32/ws_insertar/insertar.php");//url del servidor
        //empezamos añadir nuestros datos
        nameValuePairs = new ArrayList<NameValuePair>(4);
        nameValuePairs.add(new BasicNameValuePair("dni",dni.getText().toString().trim()));
        nameValuePairs.add(new BasicNameValuePair("nombre",nombre.getText().toString().trim()));
        nameValuePairs.add(new BasicNameValuePair("telefono",telefono.getText().toString().trim()));
        nameValuePairs.add(new BasicNameValuePair("email",email.getText().toString().trim()));
        try {
             httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            httpClient.execute(httpPost);
            return true;


        } catch(UnsupportedEncodingException e){
            e.printStackTrace();
        }catch (ClientProtocolException e){
            e.printStackTrace();

        }catch (IOException e){
            e.printStackTrace();
        }
        return  false;
    }
    //AsyncTask para insertar Personas
    class Insertar extends AsyncTask<String,String,String> {

        private Activity context;

        Insertar(Activity context){
            this.context=context;
        }

        protected String doInBackground(String... params) {
            // TODO Auto-generated method stub
            if(insertar())
                context.runOnUiThread(new Runnable(){
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        Toast.makeText(context, "Persona insertada con éxito", Toast.LENGTH_LONG).show();
                        nombre.setText("");
                        dni.setText("");
                        telefono.setText("");
                        email.setText("");
                    }
                });
            else
                context.runOnUiThread(new Runnable(){
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
                        Toast.makeText(context, "Persona no insertada con éxito", Toast.LENGTH_LONG).show();
                    }
                });
            return null;
        }
    }
}
0

¿Tiene alguna pregunta o comentario?

10 comments on “Registrar Usuario php mysql en android

donde dice link de descarga has clic ahí, luego podrás descargarlo de Google drive

0
Reply
Anónimo

esta dañado

0
Reply

Ola muchas gracias por los tutoriales de casualidad no tendras un ejemplo de login php-android de ejemplo de antemano gracias!1

0
Reply

de pana haces un tutorial donde solo explicas la mitad..?
que ridiculo.

0
Reply
RigoWon

Hola quisiera saber porque no me inserta los datos en la base de datos ya que al principio si me jalo y después ya no

0
Reply

Detalle su problema sr, los próximos comentarios como estos simplemente los ignoraremos.

0
Reply

[…] tutorial, como listar un usuario.Seria la continuación del post anterior  donde veíamos como registrar un usuario con php, mysql en android studio bueno ahora vamos hacer que se nos muestre, ese usuario registrado, te recomiendo que veas el post […]

0

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *