10

Editar un registro del api-rest desde nuestro teléfono en Android Studio y Mysql [10]

En este video vamos a Editar un registro del api-rest desde nuestro teléfono en Android Studio y Mysql siguiendo estos pasos.

  • En nuestro MainActivity2 vamos a crear un botón y llamaremos editar.
  • Cuando se haga click en el botón editar llamaremos a nuestro apirest edtitar.php y le pasaremos via POST el id que recibimos desde nuestro MainActivity y los valores de los EditText
    • nombre
    • telefono
    • email
    • pass
Editar un registro del api-rest desde nuestro teléfono en Android Studio y Mysql

Codigo: https://github.com/programadornovato/AndroidMysql/commit/793627cc4dc2b80af96f339b7dbc502d4484c3d5

//app/src/main/java/com/programadornovato/androidmysql/MainActivity2.kt
package com.programadornovato.androidmysql

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.view.textclassifier.TextLinks
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import com.android.volley.Request
import com.android.volley.Response
import com.android.volley.toolbox.JsonObjectRequest
import com.android.volley.toolbox.StringRequest
import com.android.volley.toolbox.Volley

class MainActivity2 : AppCompatActivity() {
    var txtNombre: EditText?=null
    var txtEmail: EditText?=null
    var txtTelefono: EditText?=null
    var txtPass: EditText?=null
    var tvId:TextView?=null
    var id:String?=null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main2)
        txtNombre=findViewById(R.id.txtNombre)
        txtEmail=findViewById(R.id.txtEmail)
        txtTelefono=findViewById(R.id.txtTelefono)
        txtPass=findViewById(R.id.txtPass)
        id=intent.getStringExtra("id").toString()
        tvId?.setText(id)
        val queue=Volley.newRequestQueue(this)
        val url="http://192.168.8.100/android_mysql/registro.php?id=$id"
        val jsonObjectRequest = JsonObjectRequest(
            Request.Method.GET,url,null,
            Response.Listener { response ->
                txtNombre?.setText(response.getString("nombre"))
                txtEmail?.setText(response.getString("email"))
                txtTelefono?.setText(response.getString("telefono"))
                txtPass?.setText(response.getString("pass"))
            },Response.ErrorListener { error ->
                Toast.makeText(this,error.toString(),Toast.LENGTH_LONG).show()
            }
        )
        queue.add(jsonObjectRequest)
    }
    fun clickRegresar(view:View){
        var intent= Intent(this,MainActivity::class.java)
        startActivity(intent)
    }
    fun clickBorrar(view:View){
        val url="http://192.168.8.100/android_mysql/borrar.php"
        val queue=Volley.newRequestQueue(this)
        var resultadoPost = object : StringRequest(Request.Method.POST,url,
        Response.Listener { response ->
            Toast.makeText(this,"El usuario se creo de forma exitosa",Toast.LENGTH_LONG).show()
        },
            Response.ErrorListener { error ->
                Toast.makeText(this,"Error al crear el usuario $error",Toast.LENGTH_LONG).show()
            }
            ){
            override fun getParams(): MutableMap<String, String> {
                val parametros=HashMap<String,String>()
                parametros.put("id",id!!)
                return parametros
            }
        }
        queue.add(resultadoPost)
    }
    fun clickEditar(view: View){
        val url="http://192.168.8.100/android_mysql/editar.php"
        val queue=Volley.newRequestQueue(this)
        val resultadoPost = object : StringRequest(Request.Method.POST,url,
        Response.Listener { response ->
            Toast.makeText(this,"El usuario ha sido editado de forma exitosa",Toast.LENGTH_LONG).show()
        },
            Response.ErrorListener { error ->
                Toast.makeText(this,"Error al editar el usuario $error",Toast.LENGTH_LONG).show()
            }
            ){
            override fun getParams(): MutableMap<String, String> {
                val parametros=HashMap<String,String>()
                parametros.put("id",id!!)
                parametros.put("nombre",txtNombre?.text.toString())
                parametros.put("telefono",txtTelefono?.text.toString())
                parametros.put("email",txtEmail?.text.toString())
                parametros.put("pass",txtPass?.text.toString())
                return parametros
            }
        }
        queue.add(resultadoPost)
    }
}




//app/src/main/res/layout/activity_main2.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=".MainActivity2">

    <EditText
        android:id="@+id/txtNombre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="40dp"
        android:ems="10"
        android:hint="Nombre"
        android:inputType="textPersonName"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.515"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/txtEmail"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:hint="Email"
        android:inputType="textEmailAddress"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtNombre" />

    <EditText
        android:id="@+id/txtTelefono"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:hint="Telefono"
        android:inputType="phone"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtEmail" />

    <EditText
        android:id="@+id/txtPass"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="28dp"
        android:ems="10"
        android:hint="Password"
        android:inputType="textPassword"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtTelefono" />

    <Button
        android:id="@+id/btnRegresar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="52dp"
        android:layout_marginEnd="16dp"
        android:layout_marginRight="16dp"
        android:onClick="clickRegresar"
        android:text="Regresar"
        app:backgroundTint="@android:color/darker_gray"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtPass" />

    <Button
        android:id="@+id/btnBorrar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="4dp"
        android:layout_marginLeft="4dp"
        android:layout_marginTop="52dp"
        android:onClick="clickBorrar"
        android:text="Borrar"
        app:backgroundTint="@color/design_default_color_error"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/txtPass" />

    <TextView
        android:id="@+id/tvId"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="44dp"
        android:layout_marginLeft="44dp"
        android:layout_marginTop="68dp"
        android:text="ID"
        app:layout_constraintStart_toEndOf="@+id/btnEditar"
        app:layout_constraintTop_toBottomOf="@+id/txtPass" />

    <Button
        android:id="@+id/btnEditar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="24dp"
        android:layout_marginLeft="24dp"
        android:layout_marginTop="52dp"
        android:onClick="clickEditar"
        android:text="Editar"
        app:backgroundTint="@android:color/holo_orange_light"
        app:layout_constraintStart_toEndOf="@+id/btnBorrar"
        app:layout_constraintTop_toBottomOf="@+id/txtPass" />


</androidx.constraintlayout.widget.ConstraintLayout>

🎦 Lista de reproducción de este curso: https://www.youtube.com/watch?v=915R9eq_r-s&list=PLCTD_CpMeEKSiUQ_svD3ovD1qXdKQFMvO&ab_channel=programadornovato
🎦 [Curso] Android Studio con Bases de datos: https://www.youtube.com/watch?v=CeQZ0c1l_pY&list=PLCTD_CpMeEKQJiP5LPFF4x-1gIf-19LVe&ab_channel=programadornovato
🎦 Curso de Android Studio: https://www.youtube.com/watch?v=AHyTqIB_8Rs&list=PLCTD_CpMeEKTT9pb9J-89j1SPtqHzU7sF&ab_channel=programadornovato
🎦 [Curso] Android Studio con Interfaz Grafica de 0 a 100: https://www.youtube.com/watch?v=3ZUlE_tvfaM&list=PLCTD_CpMeEKRL2-HaZThebGcyyR3_RshO&ab_channel=programadornovato
🎦 [CURSO] MARIADB DE 0 A 100: https://www.youtube.com/watch?v=oV0zZvTz4Ak&list=PLCTD_CpMeEKRoPFmVqG-COyGptWcbeesj&ab_channel=programadornovato
🎦 [CURSO] MYSQL DE 0 A 100🐬: https://www.youtube.com/watch?v=UzN-lDFvu3k&list=PLCTD_CpMeEKQmH9cRKWWHahygZFtIdwYG&ab_channel=programadornovato
🎦 [Curso] Kotlin de 0 a 100: https://www.youtube.com/playlist?list=PLCTD_CpMeEKSjzbsW_zmVNz23GyOVsdbS
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF

🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato

Anterior tutorial Siguiente tutorial

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

En Programador Novato vivimos de los anuncios, hemos detectado que está utilizando extensiones para bloquear anuncios. Ayudanos deshabilitando tu bloqueador de anuncios. :)