Primera aplicación – Android Studio- versión 2021

En mi gira del adiós me ha tocado la materia de “Diseño de Apps” y para empezar nos fuimos a desarrollar aquella app que aun esta en línea y vimos en un curso pasado donde viene un asunto (nombre) y luego la descripción del mismo (comentario) con las operaciones de insertar, eliminar y consultar.

Ha pasado un año y 7 meses y las cosas nuevamente han cambiado. Tenemos la versión Android Studio Arctic Fox 2020.3.1 Patch 2, Android va en la versión 10 y pues Huawei esta peleando con marcas como Samsung que dominaban el mercado de los androides; en estos tiempos cada vez se popularizan más las PWAs y las aplicaciones multiplataforma, sin embargo iniciaremos con la base que es el desarrollo nativo como lo es este ejemplo. Ahora tengo asignado un AMD Ryzen 5 con la fabulosa cantidad de 32Gb de memoria RAM, discos duros de estado solido y demás monerías que el fabricante Lenovo ha evolucionado de aquellas ThinkPad antes de IBM. Por otro lado tuvimos que bajar a gama media en los smartphones y ahora cuento con un OPPO A31 después del fiasco que tuve con el Samsung Galaxy A7 que simplemente murió apenas cumplió poco más del año. Windows 11 y IPhone 13 están en el mercado en lo que parece ser los últimos tiempos de la pandemia por COVID-19 (ojalá).

Read More

Actualizar varias tuplas con valores de otra tabla en SQLite

Vamos a ejemplificar lo siguiente: tenemos 2 tablas que por alguna razón fueron actualizadas en diferentes momentos a una le vamos a llamar tteamsoft que contiene la información de los diferente equipos de desarrollo y la otra es tdeveloper que son los programadores/desarrolladores que tiene una empresa de software.

CREATE TABLE “tteamsoft” (
“idteam” INTEGER,
“name” TEXT NOT NULL,
“idproject” INTEGER NOT NULL,
“iddevleader” INTEGER,
PRIMARY KEY(“idteam” AUTOINCREMENT)
);

CREATE TABLE “tdeveloper” (
“iddeveloper” INTEGER,
“name” TEXT NOT NULL,
“lastname” TEXT NOT NULL,
“email” TEXT NOT NULL UNIQUE,
“isteamleader” INTEGER NOT NULL DEFAULT 0,
“idteam” INTEGER NOT NULL,
PRIMARY KEY(“iddeveloper” AUTOINCREMENT)
);

Read More

Programación orientada a objetos en Javascript.

De nuevo regresa a mi la materia de Estructura de Datos con su nuevo nombre, se le agrega la palabra aplicadas que parece muy adecuado.

Ahora desde casa se me ocurren mil cosas e ideas que haber hasta donde me alcanza la vida y el entendimiento, pero una de ellas es darla con varios lenguajes; en ocasiones pasadas la llegué a impartir con Java y C#.

En esta ocasión los chicos no quisieron complicarse y supongo con la experiencia de su maestro Mario Villavicencio han decidido con C#.

Como sabemos Javascript ha tenido un dominio avasallador y es el gran protagonista del desarrollo web, entonces para el primer tema que son tipos de datos abstractos probamos las clases en Javascript.

El ejemplo fue la clase Cuadrilatero (y sólo el subconjunto de aquellas figuras que sus ángulos interiores son rectos es decir el rectángulo y el cuadrado), y pues para evitar el dibujar en la consola decidí probar el objeto canvas manipulado por Javascript.

El primer paso fue hacer un formulario donde iba a obtener del usuario, la altura y anchura del cuadrilátero, después para ir probando fui agregando botones para probar cada acción de la clase. La versión definitiva fue darle mejor presentación agregando Bootstrap 4 y un botón para obtener de una sola vez la creación del objeto, el área, el perímetro y la imagen de la figura, les muestro el prototipo final de la página web, que publiqué en un sitio gratuito de internet.

Read More

Máquina virtual con Oracle 11g Express

Les dije: investiguen, intenten, lean, busquen caminos alternativos, y aun al día de hoy, tenemos personas que no pudieron instalar Oracle y siguen batallando, o bien se fueron por otro motor de base de datos.

Como Ingenieros en TICs deben de agotar todas las opciones, y sin ofender instalar el software n veces, pudiera ser una solución, pero no es la única.

Hoy en 10 minutos, quizás 15 instalé en un Windows Server 2003, la versión 11g de Oracle Express Edition. Sí, muchos dirán pero usted es el maestro, o quizás nuestro equipo no de para máquinas virtuales, pero hay equipos en la universidad o sus compañeros pueden fungir como su servidor, en fin tenemos que buscar opciones más allá de instalar un software “más fácil”. Y no estoy enojado, pero quisiera ver más iniciativa, y claro esta observación no es para todos, por supuesto.

Read More

Ejecutar un procedimiento almacenado dentro de un bloque (transacción) anónimo – PL/SQL – Oracle.

Y seguimos con las tensiones mundiales a todo lo que da, este año iniciábamos con una posible guerra mundial y ahora tenemos una pandemia en curso (afortunadamente aunque el contagio es severo, el índice de mortandad – número de casos contra muertes es muy bajo por ahora).

Pero la vida tiene que seguir así que, a lo nuestro.

Una de las prácticas para base de datos en el tema de transacciones, es la de generación de datos aleatorios para alimentar una tabla de una base de datos de Oracle para un grupo y de MySQL para otro (donde en el caso de Oracle escribí hace algunos años un artículo sobre números aleatorios [1]).

En el grupo A, los jóvenes no pudieron mandar llamar un procedimiento almacenado (que es el que genera los datos aleatorios), por lo que tuvieron que correr los bloques de programación por separado.

Entonces…soy el profesor …jejeje …pues fuimos a la biblioteca gigante del Internet para buscar una solución y me encontré lo siguiente, en este post [2].

Read More

Primera aplicación en Android Studio

La vida implica cambios y por más comodos que muchas veces estamos, la vida cambia, todo cambia.

Por ejemplo esta máquina desde donde ahora escribo, ha sido complice inanimada de mis tutoriales, videos, artículos, reflexiones y demás “diarreas mentales” que escribo en los diferentes espacios virtuales donde habitan mis ideas.

Pues bien, estamos a punto de jubilarla, pero no sin antes rendirle todos mis honores por ser mi herramienta complice para tratar de generar y compartir conocimiento.

Al igual que yo. Aun vivo una etapa de incertidumbre la cual no se despeja, sin embargo, parece inminente, mi ausencia temporal o bien definitiva de mi quehacer docente, lo cual es algo muy complicado…pero bueno reitero es parte de la vida misma, los cambios situacionales que nos pueden ser benéficos o no tan favorables, pero implican desafíos y retos.

Pero basta, vamos a lo que nos reune aquí: “el aporte al conocimiento”.

Read More

MySQL, el desafío del primer cuatrimestre del 2020.

No se trata de sentirme el “todopoderoso” o el “sabelotodo” sino que creo debemos de cultivar e incentivar los retos y desafíos que plantean los alumnos cuando nos sugieren tal o cual tecnología para trabajar en clase.

En este caso, el desafío era para mi, ya que parece ser que en las materias pasadas ya habían usado este motor, mientras que en el otro grupo fue el ganador el poderoso Oracle.

Mis acercamientos con MySQL era referente a usarlo en combinación de php o bien con Joomla, y algunos ejemplos para conectar con .NET o con Java, pero nunca me había metido a mayor profundidad con el motor, además que para facilitar las cosas se instalaba el XAMPP.

Ahora teníamos que usar el IDE tan popular llamado MySQL Workbench, además que mi reto era instalar una versión más reciente de MySQL, y bueno como son fines educativos la versión de la “comunidad”.

Read More

MVC Web usando Spring

Este proyecto contiene un formulario que permite realizar altas, bajas y cambios, este fue desarrollado en el lenguaje de programación Java Web, donde se implementó el framework Spring MVC, el cual facilita y optimiza el proceso para la creación de aplicaciones web utilizando el patrón MVC (Modelo-Vista-Controlador).

Como primera instancia creamos una base de datos llamada “regristro_clientes”, la cual contiene una tabla con 4 campos que se muestra a continuación:

Read More

Cómo crear una conexión a una base de datos local con entity framework

¿Qué es Entity framework?

Es una tecnología desarrollada por Microsoft, que a través de ADO.NET genera un conjunto de objetos que están directamente ligados a una Base de Datos, permitiendo a los desarrolladores manejar dichos objetos en lugar de utilizar lenguaje SQL contra la Base de Datos.

Surgimiento

Los arquitectos y programadores de aplicaciones orientadas a datos se han enfrentado a la necesidad de lograr dos objetivos muy diferentes. Deben modelar las entidades, las relaciones y la lógica de los problemas empresariales que resuelven, y también deben trabajar con los motores de datos que se usan para almacenar y recuperar los datos, estos pueden abarcar varios sistemas de almacenamiento, cada uno con sus propios protocolos; incluso las aplicaciones que funcionan con un único sistema de almacenamiento deben equilibrar los requisitos del sistema de almacenamiento con respecto a los requisitos de escribir un código de aplicación eficaz y fácil de mantener.

Read More

APLICACIÓN-CON-ENTITY-FRAMEWORK

  • Abrimos visual studio, damos clic en la parte superior “Archivo” luego “Nuevo” posteriormente “Proyecto”.
  • Creamos una aplicación de “Windows Forms (.NET Framework) ya que en este caso se hará con Windows Forms, esto es opcional según el gusto de cada persona, pueden crearlo en aplicación de consola o en aplicaciones webs.
  • Luego creamos nuestra base de datos, para ellos damos click en la parte superior “Ver”, “Explorador de servidores”.

Read More