portada web services2-10ff5c84

La App Makers

Web Service en Android Studio con PHP y MySQL (Parte 2) 

Hoy en día les traigo la segunda parte de esta serie de tutoriales de web services en android studio con  php y mysql.Lo que haremos en esta parte de la serie sera principalmente hacer los archivos php (Web services) para realizar las consultas sql y la parte grafica de la aplicación.

Insertar:

Lo primero que debemos hacer es abrir nuestro editor de texto y poner las etiquetas de abrir y cerrar de php.Ya hecho lo anterior tenemos que incluir la conexión realizada en el post anterior.Luego debemos crear tres variables las cuales contendrán los valores enviados desde la aplicación android para poder insertar nuevos productos a la base de datos.Para insertar debemos realizar un consulta de inserción para ello debemos crear una variable que la contenga.La consulta hará que insertemos en la tabla productos un nuevo producto con los valores tomados de la aplicación.Pero claro la consulta no se ejecuta sola para ejecutarla debemos utilizar la función mysqli_query() y luego cerramos la conexión para que no quede abierta.

<?php
include 'conexion.php';
$nombre=$_POST['Nombre'];
$precio=$_POST['Precio'];
$cantidad=$_POST['Cantidad'];
$consulta= "insert into productos values('".$nombre."','".$cantidad."','".$precio."');
mysqli_query($conexion,$consulta) or die(mysqli_error());
mysqli_close($conexion); 
?>

Actualizar:

Ya abierto nuestro editor de texto y puestas las etiquetas de abrir y cerrar de php tenemos que incluir la conexión realizada en el post anterior.Luego debemos crear tres variables las cuales contendrán los valores enviados desde la aplicación android para poder actualizar los productos de la base de datos.Para actualizar debemos realizar un consulta de actualización para ello debemos crear una variable que la contenga.La consulta hará que actualicemos un producto de la tabla productos con los valores tomados de la aplicación.Pero claro la consulta no se ejecuta sola para ejecutarla debemos utilizar la función mysqli_query() y luego cerramos la conexión para que no quede abierta.

<?php
include 'conexion.php';
$nombre=$_POST['Nombre'];
$precio=$_POST['Precio'];
$cantidad=$_POST['Cantidad'];
$consulta= "update productos set  Cantidad = '".$cantidad."',Precio = '".$precio."' where Nombre = '".$nombre."');
mysqli_query($conexion,$consulta) or die(mysqli_error());
mysqli_close($conexion);
?>

Eliminar:

Lo que nos queda es realizar el php para eliminar para hacer esto debemos abrir nuestro editor de texto y poner las etiquetas de abrir y cerrar de php.Ya hecho lo anterior tenemos que incluir la conexión.Luego debemos crear una variable la cual contendrá el valor enviado desde la aplicación android para poder eliminar productos de la base de datos.Para eliminar debemos realizar un consulta de eliminación para ello debemos crear una variable que la contenga.La consulta hará que eliminemos en la tabla productos un producto .Pero claro la consulta no se ejecuta sola para ejecutarla debemos utilizar la función mysqli_query() y luego cerramos la conexión para que no quede abierta.

<?php
include 'conexion.php';
$nombre=$_POST['Nombre'];

$consulta="delete from productos where Nombre = '".$nombre."';

mysqli_query($conexion,$consulta); or die(mysql_error());
mysqli_close($conexion);
?>

Una vez terminados los archivo los subiremos a nuestro servidor.

Ahora si podemos empezar con android studio lo que haremos sera crear un nuevo proyecto:Una vez creado el proyecto deberás darle permiso de internet a tu aplicación en el manifest poniendo lo siguiente:

<permission android:name="android.permission.INTERNET"></permission>

Luego deberás implementar la librería volley para ello deberás ir al build.gradle(Module:app) y poner lo siguiente en la sección de dependencias:

implementation 'com.android.volley:volley:1.1.0'

Ya implementada la librería volley deberás crear los botones y entradas de texto en en activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/Nombre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Nombre"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/Cantidad"
        android:layout_width="207dp"
        android:layout_height="37dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Cantidad"
        app:layout_constraintBottom_toTopOf="@+id/Precio"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Nombre" />

    <EditText
        android:id="@+id/Precio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Precio"
        app:layout_constraintBottom_toTopOf="@+id/Insertar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Cantidad" />

    <Button
        android:id="@+id/Insertar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Insertar"
        app:layout_constraintBottom_toTopOf="@+id/Actualizar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Precio" />

    <Button
        android:id="@+id/Actualizar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="actualizar"
        app:layout_constraintBottom_toTopOf="@+id/Borrar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Insertar" />

    <Button
        android:id="@+id/Borrar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="borrar"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Actualizar" />
</androidx.constraintlayout.widget.ConstraintLayout>

Una vez creados los botones y entradas de texto deberás poner en el xml la función a la cual va a llamar cuando se presione el botón.Para realizar esto antes debemos crear tres funciones para los tres botones en el main activity de la siguiente manera:

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void Insertar(View view){

    }
    public void Actualizar(View view){

    }
    public void Borrar(View view){

    }
}

Cabe destacar que como habrán visto deben importar la librería View como lo hice arriba.Una vez creadas las funciones a las cuales va a llamar lo que debemos hacer es decirle que cuando se presione el botón insertar llame a la función insertar y así con los otros botones para ello deben poner lo siguiente en el activity_main en cada botón:

android:onClick="Funcion Creada anteriormente"

y así quedaría todo el activity_main:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/Nombre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="25dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Nombre"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/Cantidad"
        android:layout_width="207dp"
        android:layout_height="37dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Cantidad"
        app:layout_constraintBottom_toTopOf="@+id/Precio"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Nombre" />

    <EditText
        android:id="@+id/Precio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Precio"
        app:layout_constraintBottom_toTopOf="@+id/Insertar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Cantidad" />

    <Button
        android:id="@+id/Insertar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Insertar"
        app:layout_constraintBottom_toTopOf="@+id/Actualizar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Precio"
        android:onClick="Insertar"/>

    <Button
        android:id="@+id/Actualizar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="actualizar"
        app:layout_constraintBottom_toTopOf="@+id/Borrar"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Insertar"
        android:onClick="Actualizar"/>

    <Button
        android:id="@+id/Borrar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="borrar"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/Actualizar"
        android:onClick="Borrar"/>
</androidx.constraintlayout.widget.ConstraintLayout>

Ya hecho esto lo que necesitamos es crear nuestras variables de entradas de texto en el main activity para ello ponemos lo siguiente:

EditText Nombre;
EditText Cantidad;
EditText Precio;

Una vez realizado lo anterior debemos declararlas de la siguiente manera:

Nombre = findViewById(R.id.Nombre);
Cantidad = findViewById(R.id.Cantidad);
Precio = findViewById(R.id.Precio);

Quedando todo el codigo del main activity de la siguiente manera:

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
    EditText Nombre;
    EditText Cantidad;
    EditText Precio;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Nombre = findViewById(R.id.Nombre);
        Cantidad = findViewById(R.id.Cantidad);
        Precio = findViewById(R.id.Precio);
    }
    public void Insertar(View view){

    }
    public void Actualizar(View view){

    }
    public void Borrar(View view){

    }
}

Y bueno amigos makers lo que hicimos hasta ahora es:

  • Crear una base de datos (Parte 1)
  • Crear Archivo de conexion con la base de datos (Parte 1)
  • Crear 3 Archivo de consultas en php con mysql (Parte 2)
  • Crear Parte grafica de la aplicacion de android (Parte 2)

En el proximo tutorial de esta serie de tutoriales terminaremos de realizar nuestro web service.

Saludos AndroidDev


Ayuda a los autores

  • Tutorial
  • Programación | Programas, aplicaciones | Otros
0 Comentarios

Contesta

CONTACTANOS

Esta es su red social de tecnología para compartir tus ideas y proyectos .Puedes enviarnos un correo si tienes dudas.Nos vemos

Enviando

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account