4.-Acceso a Datos usando Kotlin y SQLite

Compartelo:

SQLite

SQLite es una herramienta de software libre, que permite almacenar información en dispositivos empotrados de una forma sencilla, eficaz, potente, rápida y en equipos con pocas capacidades de hardware, como puede ser una PDA o un teléfono celular. SQLite implementa el estándar SQL92 y también agrega extensiones que facilitan su uso en cualquier ambiente de desarrollo. Esto permite que SQLite soporte desde las consultas más básicas hasta las más complejas del lenguaje SQL, y lo más importante es que se puede usar tanto en dispositivos móviles como en sistemas de escritorio, sin necesidad de realizar procesos complejos de importación y exportación de datos, ya que existe compatibilidad al 100% entre las diversas plataformas disponibles, haciendo que la portabilidad entre dispositivos y plataformas sea transparente.

Características

Estas son algunas de las características principales de SQLite:

  • La base de datos completa se encuentra en un solo archivo.
  • Puede funcionar enteramente en memoria, lo que la hace muy rápida.
  • Tiene un footprint menor a 230KB.
  • Es totalmente autocontenida (sin dependencias externas).
  • Cuenta con librerías de acceso para muchos lenguajes de programación.
  • Soporta texto en formato UTF-8 y UTF-16, así como datos numéricos de 64 bits.
  • Soporta funciones SQL definidas por el usuario (UDF).
  • El código fuente es de dominio público y se encuentra muy bien documentado.

Puede ver más información sobre SQLite yendo al sitio http://www.sqlite.org

Ejemplo

Realizaremos una aplicación sencilla que gestiona una base de datos almacenando una lista de nombres. Es decir que la base de datos contendrá unicamente una tabla con dos campos el campo id que será la llave primaria y el campo nombreU, esto con la finalidad de que este primer ejercicio sea sencillo para quien por primera vez trabaja con SQLite y Kotlin.

En la vista de la aplicación tendremos unicamente cuatro elementos:

  • Textview con id tvMuestraNombre
  • EditText con id etNombre
  • Button con id btnAgregar
  • Button con id btnTodos

Para producir esa vista puede arrastrar los controles y colocar los constraints o reglas de diseño a cada uno o támbien puede agregar el código en su archivo activity_main.xml y eso automáticamente mostrara el diseño de la imagen.

A continuación se muestra el codigo del archivo activity_main.xml. Puede usar este código copiándolo y pegándolo en el archivo activity_main.xml de su proyecto propio y así observar el resultado que se muestra en la figura de arriba.

<?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">
    <!--Este es el codigo del textView que servirá para mostrar el texto que introduzca el usuario -->
    <TextView
        android:id="@+id/tvMuestraNombre"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="16dp"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/etNombre" />

    <!--
    Este es el codigo del editText etNombre ,
    este control permitira al usuario capturar el texto que se desea agregar a la bd
     -->
    <EditText
        android:id="@+id/etNombre"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="8dp"
        android:layout_marginTop="16dp"
        android:layout_marginEnd="8dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Nombre"
        app:layout_constraintBottom_toTopOf="@+id/tvMuestraNombre"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
<!--Este es el codigo del boton btnAgregar que servirá para agregar un Registro a la bd -->
    <Button
        android:id="@+id/btnAgregar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:text="Agregar"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/btnTodos" />
    <!--Este es el codigo del boton btnTodos que servirá para Mostrar todos los registros de la bd -->
    <Button
        android:id="@+id/btnTodos"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="16dp"
        android:text="Mostrar todos"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/btnAgregar"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

Hasta este momento solo se tiene la vista de la aplicación puede ejecutarla para ver que funcione correctamente, sin embargo no tiene ninguna funcionalidad. Para darle funcionalidad se tendrá que escribir codigo en lenguaje Kotlin. Lo primero que se hará será crear una clase llamada Nombre.

En la siguientes imagenes mostramos como:

Aparecerá una ventana como esta:

Seleccione Class y en donde dice Name escriba el nombre de la clase. La clase se llamará Nombre, presione enter.

Hecho esto se visualizará en pantalla la nueva clase lista para editar.

Este será el código de la clase Nombre.

class Nombre {
   var id: Int = 0
    var NombreUsuario: String? = null
   constructor(id: Int, nombre: String) {
        this.id = id
        this.NombreUsuario = nombre
    }
   constructor(nombre: String) {
        this.NombreUsuario = nombre
    }
}
class Nombre {

    var id: Int = 0   //declara una variable id que será tipo entero con un valor inicial de 0
    var NombreUsuario: String? = null    //declara una variable String el simbolo ? se usa para
                               // indicar  que a la variable es posible asignarle valores nulos
    constructor(id: Int, nombre: String) { //constructor de la clase Nombre
        this.id = id
        this.NombreUsuario = nombre
    }
    constructor(nombre: String) { //sobrecarga del constructor de la clase Nombre
        this.NombreUsuario = nombre
    }
}

Después de agregado el modelo de la clase Nombre , se creará la clase ayudaDB, puede seguirse el mismo procedimiento que se utilizó al crear la clase Nombre.

El codigo de la clase ayudaDB será

import android.content.ContentValues
import android.content.Context
import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
/*
existe una clase llamada SQLiteOpenHelper que ayuda a gestionar
el manejo de una base de datos la clase ayudaDB hereda de esa
clase para permitir acceder a los metodos de creacion de la bd
actualizacion , insercion y lectura de registros
 */
class ayudaDb (
    context: Context,
    factory: SQLiteDatabase.CursorFactory?) :
    SQLiteOpenHelper(context, DATABASE_NAME,
    factory, DATABASE_VERSION) {
    //metodo para crear la base de datos
        override fun onCreate(db: SQLiteDatabase) {
            val CREATE_PRODUCTS_TABLE = ("CREATE TABLE " +
                    TABLE_NAME + "("
                    + COLUMN_ID + " INTEGER PRIMARY KEY," +
                    COLUMN_NAME
                    + " TEXT" + ")")
            db.execSQL(CREATE_PRODUCTS_TABLE)
        }
        override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
            db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME)
            onCreate(db)
        }
    //metodo para agregar un registro a la tabla
        fun addName(n: Nombre) {
            val values = ContentValues()
            values.put(COLUMN_NAME,n.NombreUsuario)
            val db = this.writableDatabase
            db.insert(TABLE_NAME, null, values)
            db.close()
        }
    //metodo para obtener los registros de la tabla
        fun getAllName(): Cursor? {
            val db = this.readableDatabase
            return db.rawQuery("SELECT * FROM $TABLE_NAME", null)
        }
        companion object {  //crea un objeto companion puede leer acerca de ellos
                           //en https://devexperto.com/object-kotlin-singleton/
                        //https://rubentejera.com/companion-object-en-kotlin/
            private val DATABASE_VERSION = 1
            private val DATABASE_NAME = "nombres.db"
            val TABLE_NAME = "tnombres"
            val COLUMN_ID = "_id"
            val COLUMN_NAME = "nombreU"
        }
    }
}

Finalmente editaremos el archivo MainActivity.kt que ya se encuentra en el proyecto.

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
      /*el siguiente bloque maneja lo que ocurre al tocar
       *el boton Agregar */
        btnAgregar.setOnClickListener {
            val dbHandler = ayudaDb(this, null)
            val user = Nombre(etNombre.text.toString())
            dbHandler.addName(user)
            Toast.makeText(this, "SE agregó a la base de datos a: "+ etNombre.text.toString() , Toast.LENGTH_LONG).show()
            etNombre.setText("")
        }
        /*el siguiente bloque maneja lo que ocurre al tocar
        * el boton Mostrar Todos*/
        btnTodos.setOnClickListener {
            tvMuestraNombre.text = ""
            val dbHandler = ayudaDb(this, null)
            val cursor = dbHandler.getAllName()
            if (cursor != null) {

                    cursor!!.moveToFirst()
                    tvMuestraNombre.append((cursor.getString(cursor.getColumnIndex(ayudaDb.COLUMN_NAME))))
                    while (cursor.moveToNext()) {
                        tvMuestraNombre.append((cursor.getString(cursor.getColumnIndex(ayudaDb.COLUMN_NAME))))
                        tvMuestraNombre.append(System.getProperty("line.separator"));

                    }
                cursor.close()
                }


        }
    }
}

Con esto se tendría terminado el ejemplo, puede ejecutarse el proyecto y observar su funcionamiento. Los datos de SQLite se almacenarán en el teléfono de forma que cuando cierre la aplicación estos no se perderán.

3.- Primer proyecto en android studio.

Compartelo:

Para crear un proyecto nuevo tendremos que ir al menú File—->New—–>New Project



Despues aparecerá una ventana solicitando al usuario el tipo de plantilla a utilizar para el proyecto, seleccione empty activity y de clic en Siguiente.



Se mostrará la siguiente pantalla

Coloque nombre a su aplicación , puede tambien cambiar la ruta del proyecto si así lo desea.

Respecto a la casilla minimum SDK es importante mencionar que en este ejemplo el lenguaje a utilizar será kotlin y que el sdk que se utilizará será la version API 24 (android nougat). Se seleccionó esta version del sdk porque el teléfono con el cual se harán las pruebas contiene precisamente esa versión del sistema operativo, si se selecciona otra version no funcionará la ejecución correctamente.

Si usted va utilizar el Telefono virtual o android virtual device puede seleccionar la versión mas reciente de android.

Si va utilizar su telefono para hacer pruebas investigue la version de su sistema operativo android y seleccione esa versión en la casilla minimum sdk.

De clic en finish, de ser necesario android instalará el sdk que seleccionó lo cual podría tardar varios minutos dependiendo de la velocidad de su conexión a internet.



Una vez creado el proyecto se mostrará el entorno de trabajo de android studio. Se han incluido en la imagen descripciones a las secciones del entorno que se consideran importantes expanda la imagen y lea cuidadosamente.

Si se encuentra en esta pantalla y ya tiene conectado y configurado su teléfono virtual o físico puede dar clic icono ejecutar para construir el proyecto e instalarlo en su dispositivo.

El progreso de la construcción puede observarse en la barra de estado(parte inferior de la pantalla). Una vez terminado(finished) puede ir a su dispositivo virtual y ver la aplicación.

La aplicación deberá mostrarse correctamente en su dispositivo virtual.



Si tiene duda sobre como conectar su teléfono a android studio puede ver los siguientes videos.

2.- Descarga e instalación de android studio

Compartelo:

Android Studio es el IDE oficial de Google para el desarrollo de aplicaciones para Android, basado en IntelliJ IDEA.

Para instalar android studio es necesario contar con los siguientes requisitos:

  • Microsoft® Windows® 7/8/10 (64-bit)
  • 3 GB RAM minimo, 8 GB RAM recomendado.
  • 2 GB de espacio en disco, 4 GB recomendado.
  • Conexión a internet

Google ofrece Android Studio para Windows, Mac OS X y Linux. Para descargarlo puede hacerse desde el sitio oficial: descargar Android Studio

Una vez realizada la descarga inicial debe ejecutarse el archivo descargado , puede variar el nombre dependiendo de la versión en este ejemplo se llama android-studio-ide-181.5056338-windows.exe. El instalador desplegara en pantalla el siguiente cuadro de dialogo:

De clic en siguiente , despues aparecera una ventana en donde debe elegirse los componentes a instalar , puede desmarcar o marcar la instalación de android virtual device. Android virtual device permite crear un telefono virtual para ejecutar las aplicaciones compiladas en android studio, al compilar los programas android studio cargara el paquete en el telefono virtual y mostrara el programa que se ha compilado. Si no lo instala puede hacer pruebas directamente con su telefono android conectado a la computadora.

El android virtual device ocupa bastante espacio en disco y requiere al menos 1gb de memoria ram adicional para ejecutarse, por lo que esta podría alentarse mucho al tener el telefono virtual en ejecucion.

Para usar el android virtual device es necesario tener activada la virtualizacion del procesador (esto se hace desde el setup o bios de la tarjeta madre de la computadora) y tener activada las opciones de virtualizacion en el sistema operativo windows(esto se realiza yendo a la seccion de caracteristicas de windows).

En mi caso particular instalé el android virtual device y lo configuré correctamente sin embargo la ejecución de el dispositivo virtual implicó demasiado consumo de recursos y dadas las caracteristicas de mi equipo de computo preferí utilizar mi telefono celular para ejecutar los programas.

De clic en siguiente.

Despues aparecera una ventana para seleccionar la carpeta en la que se instalará android studio.

De clic en siguiente.

El instalador preguntará desde que menú quiere acceder al android studio.

De clic en siguiente.

Después aparecerá una ventana mostrando el progreso de la instalación .

Una vez terminada la instalación ejecute android studio.

La primera vez que se ejecute android studio mostrara un cuadro de dialogo que dice instalacion completada y pregunta al usuario si desea importar configuraciones anteriores. De clic en ok.

Despues se mostrara una pantalla con el logotipo de android, y posteriormente android studio comenzará a descargar algunos componentes adicionales.

Despues se presentara el siguiente cuadro de dialogo.

De clic en siguiente.

Despues aparece una ventana para seleccionar el tipo de instalación.

Seleccione estándar y de clic en siguiente.

Se muestra otra ventana en la que puede seleccionarse el tipo de interfaz de usuario.

De clic en siguiente.

Se muestra la siguiente ventana con los componentes a instalar

De clic en Finalizar.

 Android comenzará el proceso de descarga de componentes el cual tendrá un tiempo proporcional a la velocidad de su conexión a internet.

Una vez terminado el proceso el programa de instalación mostrará un resumen con los componentes instalados, mostrando en color rojo aquellos componentes con los que tuvo problemas. Es común que muestre que la computadora no soporta la virtualización la cual servirá para ejecutar los programas, si tiene un dispositivo android puede ejecutar los programas conectando su telefono al equipo de computo, si no tiene un dispositivo android será necesario habilitar la virtualizacion en su equipo de computo.

Con esto ha terminado el proceso de instalación, sin embargo al crear el primer proyecto se descargaran algunos componentes mas dependiendo del proyecto que se trate.

1.- Introducción

Compartelo:

Hoy un gran sector de la población utiliza un smartphone  es usado para comunicarse, comprar, vender o, incluso, buscar trabajo. Esto a abierto un nuevo campo de mercado para los desarrolladores de software ya que muchas de las empresas buscan alcanzar a sus clientes utilizando estas aplicaciones.

Contar con aplicaciones móviles es una necesidad para las empresas y una ventaja para los profesionales del software. No hay más que mirar las estadísticas.

En 2020 aproximadamente el 60% de la poblacion mundial utiliza internet , el 52% de ellos lo hace através de su telefono celular.

México cuenta al 2019 con 74 millones de personas utilizando internet de las cuales más del 90% lo hace através de su celular

Android se mantiene como lider en el mercado de sistemas operativos móviles. En Europa, según Statcounter, Android copa el 71,77% de dispositivos, frente al 27,72% de iOS.

Como vemos la demanda es muy amplia y mantiene un crecimiento constante pero también es cierto que en la actualidad hay cada vez más competencia en el mundo del desarrollo.

Existe también una amplia variedad de tecnologías que sirven al próposito del desarrollo de aplicaciones móviles. y podemosa gruparlas en las siguientes categorías:

  1. Desarrollo de sitios web con HML5 responsive
  2. Desarrollo de sitios web para móviles utilizando HTML5
  3. Desarrollo aplicaciones web para dispositivos utilizando HTML5
  4. Desarrollo de aplicaciones nativas para dispositivos utilizando HTML5
  5. Diseño de aplicaciones nativas para dispositivos (Android, iOS, Windows Phone, etc.)

A continuación se explican las características mas importantes que distinguen a cada una de las categorías mencionadas.

1. Sitio web HTML5 Responsive

Esta técnica permite diseñar aplicaciones web que se adaptan a las capacidades de visualización de los dispositivos, reorganizando los elementos de pantalla para que puedan ser accedidos desde cualquier dispositivo. Se desarrolla un único sitio web que es accedido a través del navegador.

La limitación más obvia es que no se aprovechan las capacidades de ningún dispositivo, ya que el diseño debe ser generalista y no puede incluir ninguna funcionalidad específica. El sitio web es accesible desde cualquier dispositivo, pero la experiencia de usuario no es óptima para ninguno de ellos.

2. Sitio web móvil con HTML5

A través de esta tecnología se diseñan sitios web específicos para dispositivos móviles, redirigiendo las peticiones a una URL diferente a la del sitio web tradicional. El sitio web móvil es diseñado de acuerdo a las características de los dispositivos, enfocando su construcción a la usabilidad de los contenidos, y los dispositivos acceden mediante el navegador web.

La limitación de este tipo de soluciones se basa en el empleo del navegador como software de visualización, lo que restringe el acceso a características específicas de los dispositivos. Asimismo, al tratarse de una URL, el acceso de los usuarios al servicio suele ser más errático, ya que no disponen de una aplicación catalogada en los diferentes Markets .

Existen diferentes frameworks web para poner en práctica esta tecnología (JQuery Mobile, Sencha Touch, Ember.js…)

3. Aplicación web móvil con HTML5

Esta tecnología es parecida a la anterior, pero se diferencía en que en este caso se empaqueta una aplicación nativa para cada tienda (playStore, Windows Store,…) que se basa en la inclusión un marco de navegación que accede al sitio web móvil.

4. Aplicación nativa con HTML5

Este desarrollo de aplicaciones nativas que no usan el navegador para mostrar los contenidos al usuario, puede ser realizado usando tecnologías de desarrollo HTML5. Las cuales permiten desarrollar una única vez y distribuir la aplicación para los diferentes sistemas operativos (Android, iOS…). Asimismo, ponen a disposición del desarrollador algunas de las características específicas de los dispositivos que no eran alcanzables en las alternativas anteriores.

Las limitaciones de esto radican en que no se pueden utilizar algunas de las características específicas del dispositivo (como la grabación de voz) o la toma de fotografías, ya que aún no están soportadas en los diferentes intérpretes de HTML5. Asimismo, la experiencia de usuario todavía no alcanza la calidad de las aplicaciones nativas.

Existen diferentes frameworks(PhoneGap, AppCelerator) que permiten construir este tipo de aplicaciones, aunque el conocimiento en JavaScript del desarrollador debe ser elevado.

5. Aplicación nativa

Las aplicaciones nativas se construyen empleando los propios entornos de desarrollo facilitados por los fabricantes del sistema operativo (SDK de android, SDK de IOS, etc) y se programa en el lenguaje específico del dispositivo (Java, Objective-C…). Estas aplicaciones pueden ejecutarse en diferentes versiones del sistema operativo.

Estas aplicaciones son mejores en el sentido de que aprovechan al máximo las capacidades de un dispositivo móvil , sin embargo el mayor inconveniente de este tipo de aplicaciones es el costo de desarrollo que implican, ya que es necesario volver a codificar la aplicación para cada sistema operativo en el que se quiere distribuir. Incluso a veces es necesario realizar versiones específicas para diferentes dispositivos o versiones del sistema operativo.

En el contenido de este curso nos centraremos en el desarrollo nativo utilizando android studio y el lenguaje de programación kotlin.

4.- Insertar datos a una tabla de Mysql en Java

Compartelo:

En este ejemplo se utilizará una tabla llamada alumno ,aquí se muestra la estructura de dicha tabla.

Para ejecutar el programa puede utilizar la base de datos alojada en la direccion 213.190.6.148 dejando los datos de conexión tal y como están en ejemplo o bien puede crear una tabla en una base de datos local utilizando su propio servidor mysql.

public class Insercion {
  
    public static void main(String[] args) {
   
        String usuario="u377283307_topicosuser";
        String password="Datos#123";
        Scanner k = new Scanner(System.in);//se crea un objeto de tipo Scanner para recibir datos en la consola
        System.out.println("Escriba su nombre: ");
        String nombre = k.next(); //asigna la entrada de usuario a la variable nombre
        System.out.println("Escriba su edad: ");
        int edad = k.nextInt(); //asigna la entrada de usuario a la variable edad
        System.out.println("Escriba su sexo H / M: ");  //escriba unicamente H o M ya que el campo es de tipo ENUM
        String sexo =  k.next();//asigna la entrada de usuario a la variable sexo
        String sql = "insert into alumno (nombre, edad, sexo) values('"+nombre+"',"+edad+",'"+sexo+"')";
        Connection con=null;
            try{
        //En la siguiente linea se crea la conexion a la Base de datos
     con=DriverManager.getConnection("jdbc:mysql://213.190.6.148:3306/u377283307_topicos1",usuario,password);  
      Statement s=con.createStatement();	//Se crea un statement
      int m = s.executeUpdate(sql); //Se ejecuta la instruccion sql 
         if (m == 1)
             System.out.println("Se realizo correctamente la insercion : "+sql);
         else
             System.out.println("fallo la insercion");
      con.close();	//se cierra la conexion a la base de datos
    }
    catch(Exception e)
    {
       e.printStackTrace();
    }

    }
    
}

5.-Visualizar datos de una Tabla Mysql en Java

Compartelo:

Como se mencionó anteriormente para conectar mysql con java debe tenerse instalado en el proyecto el conector jdbc de mysql para java, ya instalado puede utilizarse sin problemas, el ejemplo a continuación mostrado supone la existencia de una base de datos de nombre “u377283307_topicos1” la cual contiene una tabla llamada alumno cuya estructura es mostrada en la siguiente imagen:

El codigo es el siguiente:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Main {
  
    public static void main(String[] args) {
   
            try{
     String usuario="u377283307_topicosuser";
     String password="Datos#123";
     //En la siguiente linea se crea la conexion a la Base de datos
     Connection con=DriverManager.getConnection("jdbc:mysql://213.190.6.148:3306/u377283307_topicos1",usuario,password);  
      Statement s=con.createStatement();	//Se crea un statement
      ResultSet rs=s.executeQuery("select * from alumno");	//Se ejecuta la instruccion sql
      //en el siguiente bloque se implementa un ciclo while que recorre la lista de resultados obtenidos imprimiendolos en la consola
      while(rs.next()){
         System.out.println(rs.getInt(1)+" "+rs.getString(2)); //imprime el contenido del primer campo de la tabla y del segundo campo de la tabla
      }

      con.close();	//se cierra la conexion a la base de datos
    }
    catch(Exception e)
    {
       e.printStackTrace();
    }

    }
    
}

3.- Agregar el conector mysql Java en Netbeans 11 en un proyecto Gradle

Compartelo:

En netbeans 11 los proyectos pueden son manejados por sistemas de construccion de proyectos, los mas importantes son maven y gradle.

Gradle es actualmente la mejor opción ya que es un sistema de construcción multilenguaje y el proceso de construccion es más rapido que si se utiliza Maven, otra ventaja que puede mencionarse es que gradle es utilizado por android studio por lo que migrar tu proyecto java desktop a movil es más sencillo.

El procedimiento para agregar dependencias es también más sencillo utilizando gradle y aqui se mostrará como incluir el conector java mysql a un proyecto gradle utilizando Netbeans version 11.

El procedimiento no requiere descargar el conector , netbeans lo descargará al hacer la compilación, solo es necesario especificar que el proyecto necesitará el conector y para hacerlo debe modificarse el archivo build.gradle agregando la dependencia.

En la imagen se muestra como:

La instruccion que debe agregarse en el archivo build.gradle es:

implementation(‘mysql:mysql-connector-java:8.0.20’)

Puede variar la versión de conector, en este ejemplo la versión del conector es la 8.0.20

Realizado esto el conector está listo para utilizarse en el proyecto.

Aquí

se muestra un video del procedimiento:

2.- Agregar el Conector Mysql para Java a un proyecto en Netbeans

Compartelo:

Para establecer la conexión a un origen de datos es necesario un origen de datos y un proveedor de datos. El proveedor JDBC  es el más sencillo de implementar en Java utilizando como origen de datos el servidor Mysql.

Lo primero es descargar el conector java msyql el cual se encuentra en el siguiente enlace:

https://dev.mysql.com/downloads/connector/j/

Aparecera la siguiente pantalla :

En donde dice sistema operativo debe seleccionarse “Platform Independent”  y después seleccionarse  “Platform Independent (Architecture Independent), ZIP Archive,por ultimo para descargar el archivo es necesario dar clic al botón download, esto iniciará la descarga del archivo .zip.

Una vez descargado el archivo .zip debe extraerse el archivo mysql-connector-java*.jar , este archivo es la librería que se utilizará para agregar a un proyecto de Netbeans el connector mysql.

Para agregar el conector se da clic derecho en la carpeta de librerías y se selecciona la opción “add JAR/Folder”.

Esto abrirá el cuadro de dialogo del explorador de archivos, debe seleccionarse el archivo  mysql-connector-java*.jar que se extrajo del archivo .zip, después de realizar esto el conector ya estará listo para usarse en el proyecto.

Aquí se muestra el video de como descargar e instalar el conector mysql para java .

1.- Introducción

Compartelo:

Una Base de Datos es una serie de tablas que contienen información ordenada en alguna estructura que facilita el acceso a esas tablas, ordenarlas y seleccionar filas de las tablas según criterios específicos. Las bases de datos generalmente tienen índices asociados a alguna de sus columnas, de forma que el acceso sea lo más rápido posible.

Las Bases de Datos son, sin lugar a dudas, las estructuras más utilizadas en ordenadores; ya que son el corazón de sistemas tan complejos como el censo de una nación, la nómina de empleados de una empresa, el sistema de facturación de una multinacional, o el medio por el que nos expiden el billete para las próximas vacaciones.

En el caso, por ejemplo, del registro de trabajadores de una empresa, se puede imaginar una tabla con los nombres de los empleados y direcciones, y sueldos, retenciones y beneficios. Para organizar esta información, se puede empezar con una tabla que contenga los nombres de los empleados, su dirección y su número de teléfono. También se podría incluir la información relativa a su sueldo, categoría, última subida de salario, etc. S

Sin embargo muchas veces la información no puede almacenarse en una sola tabla debido a que esto no sería una solución optima. Es común que se necesite mas de una tabla de datos y que estas se encuentren relacionadas entre sí.

En para poder conectar a un lenguaje de programación como java con un servidor de base de datos es necesario un intermediario, este intermediario recibe el nombre de proveedor de datos y existen diferentes tecnologías que pueden realizar esta función.

Los proveedores de datos más ampliamente utilizados son JDBC, ODBC Y ADO.NET

ODBC

ODBC es Open Database Connectivity. Al igual que JDBC, ODBC también es una API que actúa como una interfaz entre una aplicación en el lado del cliente y la base de datos en el lado del servidor. Microsoft introdujo ODBC en el año 1992.

ODBC ayuda a una aplicación a acceder a los datos de la base de datos. Una aplicación escrita en cualquier idioma puede usar ODBC para acceder a diferentes tipos de bases de datos y, por lo tanto, se dice que es independiente del idioma y la plataforma. Al igual que JDBC, ODBC también proporciona Controladores ODBC que convierten la solicitud de solicitud escrita en cualquier idioma en el idioma comprensible por las bases de datos.

ODBC es el más utilizado y comprende muchos lenguajes de programación diferentes. Pero su código es complejo y difícil de entender.

ADO.NET

ActiveX Data Objects (ADO) es uno de los mecanismos que usan los programas de computadoras para comunicarse con las bases de datos, darles órdenes y obtener resultados de ellas.

Con ADO, un programa puede leer, insertar, editar, o borrar, la información contenida en diferentes áreas de almacenamiento dentro de la base de datos llamadas tablas. Además, se puede manipular la propia base de datos para crear nuevas áreas para el almacenamiento de información (tablas), como también alterar o eliminar las ya existentes, entre otras cosas. Fue desarrollado por Microsoft y es usado en ambientes Windows por lenguajes de programación como Visual Basic, C++,Delphi entre otros, como también en la Web mediante el uso de Active Server Pages (ASP) y el lenguaje VBScript.

ADO.NET es un conjunto de clases que exponen servicios de acceso a datos para el programador de .NET. ADO.NET ofrece abundancia de componentes para la creación de aplicaciones de uso compartido de datos distribuidas. Constituye una parte integral de .NET Framework y proporciona acceso a datos relacionales, XML y de aplicaciones. ADO.NET satisface diversas necesidades de desarrollo, como la creación de clientes de base de datos de aplicaciones para usuario y objetos empresariales de nivel medio que utilizan aplicaciones, herramientas, lenguajes o exploradores de Internet. 

JDBC

Java Database Connectivity (JDBC) es una interfaz de programación de aplicaciones, es decir (API) JDBC fue lanzado como parte del Kit de desarrollo de Java (JDK1.1. en el año 1996 por SOL Microsoft. Está construido sobre la base de ODBC y, por lo tanto, algunos conceptos básicos de ODBC se conservan en JDBC.

Es una interfaz estándar entre cualquier aplicación Java y diferentes bases de datos. La función de JDBC es ayudar a la aplicación basada en Java a acceder a diferentes tipos de bases de datos. JDBC proporciona métodos para consultar la base de datos, y también se puede usar para actualizar la base de datos. JDBC proporciona Controladores JDBC que convierte la solicitud de la aplicación Java en el lado del cliente al lenguaje que entiende la base de datos.

13 de Mayo Matemáticas 2 Segundo Grado.

Compartelo:

13 de Mayo Matemáticas 2 Segundo Grado de Secundaria

“Todo en Proporción” Da click en el enlace para ver el video.

https://www.youtube.com/watch?v=DBDx_tJ-49g&list=PLCiHWzF6Oa8rQHzwQJntqfiNFDJ-iWMt1&index=5

Actividades a Realizar:

1.- Ve el video “Todo en proporción” y toma notas del mismo.

2.- Escribe al menos un ejemplo de casos en los que se presenta una variación directa

3.- Escribe al menos un ejemplo de casos en los que se presenta una variación inversa

4.- Escribe al menos un ejemplo de casos en los que se presenta una variación conjunta.

5.- Escribe alguna de las formulas que has visto en Física (ciencias 2) y determina qué tipo de variación tiene.

No olvides guardar tus notas en la carpeta de evidencias de matemáticas colocando la fecha 13 de Mayo.