13

Llenar nuestra tabla con nuestro apirest en Android Studio y Mysql [13]

En este video vamos a Llenar nuestra tabla con nuestro apirest en Android Studio y Mysql siguiendo estos pasos.

  • Consumiremos los registros de nuestro api registros.php y llenamos una jsonArray.
  • El jsonArray los descomponemos en jsonObject de donde extraemos los datos de nuestros campos.
Llenar nuestra tabla con nuestro apirest en Android Studio y Mysql

Codigo: https://github.com/programadornovato/AndroidMysql/commit/46a7645ee3f8a69790e6315305cbc04fedca15ae

package com.programadornovato.androidmysql

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.widget.EditText
import android.widget.TableLayout
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
import org.json.JSONException

class MainActivity : AppCompatActivity() {
    var txtNombre:EditText?=null
    var txtEmail:EditText?=null
    var txtTelefono:EditText?=null
    var txtPass:EditText?=null
    var tbUsuarios:TableLayout?=null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        txtNombre=findViewById(R.id.txtNombre)
        txtEmail=findViewById(R.id.txtEmail)
        txtTelefono=findViewById(R.id.txtTelefono)
        txtPass=findViewById(R.id.txtPass)
        tbUsuarios=findViewById(R.id.tbUsuarios)
        tbUsuarios?.removeAllViews()
        var queue=Volley.newRequestQueue(this)
        var url="http://192.168.8.100/android_mysql/registros.php"

        var jsonObjectRequest=JsonObjectRequest(Request.Method.GET,url,null,
        Response.Listener { response ->
            try {
                var jsonArray=response.getJSONArray("data")
                for(i in 0 until jsonArray.length() ){
                    var jsonObject=jsonArray.getJSONObject(i)
                    val registro=LayoutInflater.from(this).inflate(R.layout.table_row_np,null,false)
                    val colNombre=registro.findViewById<View>(R.id.colNombre) as TextView
                    val colEmail=registro.findViewById<View>(R.id.colEmail) as TextView
                    val colEditar=registro.findViewById<View>(R.id.colEditar)
                    val colBorrar=registro.findViewById<View>(R.id.colBorrar)
                    colNombre.text=jsonObject.getString("nombre")
                    colEmail.text=jsonObject.getString("email")
                    colEditar.id=jsonObject.getString("id").toInt()
                    colBorrar.id=jsonObject.getString("id").toInt()
                    tbUsuarios?.addView(registro)
                }
            }catch (e: JSONException){
                e.printStackTrace()
            }
        },Response.ErrorListener { error ->

            }
            )
        queue.add(jsonObjectRequest)
    }
    fun clickTablaEditar(view: View){
        Toast.makeText(this,view.id.toString(),Toast.LENGTH_LONG).show()
    }
    fun clickTablaBorrar(view: View){
        Toast.makeText(this,view.id.toString(),Toast.LENGTH_LONG).show()
    }
    fun clickBtnInsertar(view:View){
        val url="http://192.168.8.100/android_mysql/insertar.php"
        val queue=Volley.newRequestQueue(this)
        var resultadoPost = object : StringRequest(Request.Method.POST,url,
        Response.Listener<String> { response ->
            Toast.makeText(this,"Usuario insertado exitosamente",Toast.LENGTH_LONG).show()
        },Response.ErrorListener { error ->
                Toast.makeText(this,"Error $error ",Toast.LENGTH_LONG).show()
            }){
            override fun getParams(): MutableMap<String, String> {
                val parametros=HashMap<String,String>()
                parametros.put("nombre",txtNombre?.text.toString())
                parametros.put("email",txtEmail?.text.toString())
                parametros.put("telefono",txtTelefono?.text.toString())
                parametros.put("pass",txtPass?.text.toString())
                return parametros
            }
        }
        queue.add(resultadoPost)
    }
    fun cickVer(view: View){
        var txtId=findViewById<EditText>(R.id.txtId)
        var intent= Intent(this,MainActivity2::class.java)
        intent.putExtra("id",txtId.text.toString())
        startActivity(intent)
    }
}

🎦 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

Deja un comentario

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

Información básica sobre protección de datos Ver más

  • Responsable: Eugenio Chaparro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a digitalocean.com que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad