Emulador Genymotion

Seguimos con Xamarin.

Una de las cosas que me causó un poco de frustración es el tema de los emuladores. Al tratar de que funcionaran con los que trae por default VS 2017-2015 además que se tardaba eternidad por aquello de que los equipos que trabajo son AMD y no Intel, y pese a que alguna vez si se levantó el emulador generalmente marcaba el siguiente error:

Entonces me puse manos a la obra para buscar alguna posible solución. Esta llegó en el sitio “Codenutz“[1] donde comentaba el uso de una emulador llamado Genymotion que se leían varias opiniones positivas y que además podía utilizarse para Xamarin.

Dos cosas que me parecen muy buenas es que utiliza mi caballo de batalla “Oracle VirtualBox” y que Genymotion tiene una versión gratuita para uso personal. Cuestión aparte que el despliegue en esta máquina virtual es muy rápida.

Read More

Xamarin – una aplicación para Android utilizando el sqlite.net.

El abrir una puerta nos descubre nuevas puertas” – M. Araujo

Con beneplácito doy un paso más en el desarrollo móvil con las rubustas (y pesadas) herramientas de desarrollo de Microsoft (Visual Studio) que cual “Kraken” extiende sus tentáculos al mundo de Linux, MacOs, Java, Google, etc.

Aun reciente la noticia de la conquista del mexicano Guillermo del Toro, recordándole al 45° presidente del vecino país del norte, en su propia casa, en su propia industria cinematográfica, en su propia cara, lo que la mayor parte del mundo sabe: los mexicanos no solo somos delincuentes, violadores, narcotraficantes y demás lacras sociales.

Atrás de Xamarin esta orgullosamente Miguel de Icaza, co-fundador de las antecesoras de la misma (Ximian y Mono), que en 2016 Microsoft adquiere. [1]

Read More

XAML en WPF C# (segunda parte)

Con el pasar de los días y arrastrando un poco la cobija, continuamos con este ejercicio buscando ahora guardar datos en una base de datos, y simulando en lo posible el patrón MVC.

Para agilizar las cosas en lugar de hacer recorridos mediante botones de avance, retroceso, inicio y fin, vamos a agregar un grid, quedando así el prototipo:

Tengo un servidor de base de datos SQL Server en una máquina virtual, ahí vamos  a crear base de datos DBClients y una tabla llamada T_client.

Read More

Xamarin,Xamarin como me has hecho sufrir…

Microsoft no es del todo la empresa líder en desarrollo para dispositivos móviles, llámese de tabletas para abajo. Sin embargo como gran conglomerado y existiendo estos aparatos como en el que estoy tecleando ahora, seguirán buscando hacer competencia a Google y Apple en el terreno del desarrollo móvil.

Algo que nos debe hacer sentir orgullosos – al igual que los oscares de Guillermo del Toro  – es la creación y después compra de Xamarin por parte de Microsoft al empresario-desarrollador mexicano Miguel de Icaza, con una apuesta muy fascinante, la unificación de plataformas.

Mi querido colega el Ingeniero Daniel Marín, alguna vez me comentó que Xamarin no le era de su agrado y el usaba el famoso, Android Studio.

A meses, quizás años de esa charla, lo entiendo, el tener una primera aplicación corriendo en mi teléfono Android ha sido todo un reto, y no tanto intelectual sino que hay que descargar y actualizar muchas cosas.

Con  mi grupo de Desarrollo de Aplicaciones III logramos correr Xamarin Live, donde el equipo donde estamos desarrollando hace espejo en nuestro dispositivo móvil por medio de una App que se baja tanto de AppStore como de la PlayStore, creí que era sencillo pasar alguna aplicación a los dispositivos pero mis alumnos no tuvieron éxito.

Aquí les cuento como se pudo lograr, en mi caso no he podido hacer funcionar los emuladores, solo con Xamarin Live, en el dispositivo por medio de cable USB y ya pasando el .APK al dispositivo.

Read More

XAML en WPF C# (primera parte)

Debido a que por un momento creí que el desarrollo de aplicaciones para escritorio desaparecería en los años próximos deje de lado el XAML para Visual Studio y seguí usando las aplicaciones clásicas de Windows Forms.

Ahora leyendo literatura, Microsoft XAML junto con otras más tecnologías más hace una puesta muy interesante para unificar la vista de todas aplicaciones de Visual Studio y más allá; así que pues a entrarle no hay más. Copio y cito texto para explicar que es XAML.

XAML

“Microsoft XAML es un lenguaje de programación declarativo basado en XML. Su nombre completo es XML Application Markup Language (XAML). El lenguaje es la base para dos importantes tecnologías para desarrollar aplicaciones de Microsoft: Silverlight y Windows Presentation Foundation. ”

Windows Presentation Foundation

“WPF se introdujo con .NET 3.0 en su lugar, o al menos como un primer paso hacia estándares de la industria para utilizar lenguajes de programación declarativos tales como XML. En esencia está utilizando XML para definir un nuevo lenguaje de programación. Hasta entonces, si se necesita una aplicación de escritorio, es necesario utilizar el subsistema GDI y construir aplicaciones basadas en Windows Forms. En cambio, WPF utiliza DirectX y XAML para hacer los controles de la interfaz de usuario” [1]

No me ha costado mucho trabajo la entrada a este mundo nuevo ya que si se sabe usar los Windows Form, los controles son muy parecidos aunque con algunas variaciones.

Aquí describiré una de las cosas que no me salieron a la primera búsqueda de Google.

Para crear una aplicación de XAML para escritorio se hace lo siguiente en Visual Studio 2017.

Read More

Como obtener los nombres y parámetros de un procedimiento almacenado en SQL Server

Hace algún tiempo hemos tratado de hacer código re-utilizable y llevamos algo de camino andado. El problema planteado hoy, es que una vez definido(s) nuestro(s) procedimiento(s) almacenado(s), como podría consultar su nombre, sus parámetros, tipos de datos de los parámetros y una serie datos necesarios que necesitamos para ejecutarlo desde algún lenguaje de programación.

Los motores de datos cuentan con su propio diccionario de datos que son una maravilla. El Blog DbLearner  hay un artículo para saber el nombre de las tablas columnas y tipos, la lógica sería igual, aunque yo me fui a ver que tenían las vistas que se generan en SQL Server y de ahí preparar el query que me devolverá lo que necesito. En este caso estoy usando una base de datos SQL Server Express 2014.

Antes hice un procedimiento almacenado llamado CHECKLOGINPASS, aquí el código:

Read More

S.O.S Godínez (macros en Excel, quitar símbolo porcentaje)

Debido a que he sido docente y alguna vez me han dado la materia de Excel, tengo cierta experiencia con tal paquete de ofimática de Microsoft Office.

Luego no tenemos tiempo para profundizar, pero un tema que  no he explorado es la de las macros que sin duda deben tener mucho potencial debido al uso tan amplio de la herramienta.

Solo alguna vez combinadas con FoxPro y .NET y modificando código fue que he usado y usamos código para manipular hojas de Excel.

El problema que por esta vez San Google no me pudo contestar puntualmente, el problema era que los decimales de una celda formateada como porcentaje no se viera el el símbolo del mismo, es decir en lugar de 13.3% se quería que el dato se mostrará como 13.3. Aquí un ejemplo:

Pudiéramos pensar que solo cambiamos a formato de número con un decimal y listo…

Y pudiéramos pensar que luego multiplicar por 100 y listo, el detalle es que eran más de 100 cuadros,y con posibilidades del error humano.

Read More

Javascript antiguo

Hace ya varios años fui uno de los instructores más solicitados de JavaScript en INEGI, cuando había mucha capacitación para el personal, después un compañero del mismo INEGI, nos dio un curso de HTML 5, sentí que sabía las cosas pero igual que aquel que sabe el idioma pero de forma antigua (por ejemplo español o griego antiguo).

Dejamos un mucho de lado el desarrollo web, y ahora en la materia de desarrollo de aplicaciones III estamos haciendo un sitio web y empezamos con el clásico login.

Hay cosas que son mucho mejor verificar en el cliente, lo primero es constatar que el nombre de usuario sea válido, para lo cual definimos las siguientes reglas:

  • Letras y números
  • Un solo punto que no puede ir ni al principio, ni al final, si no existe el punto, el nombre de usuario también es válido.
  • La longitud mínima es de 3.

Vamos a explorar aquella técnica que el buen profesor Humberto Armando González nos enseñó en mis años mozos en el CETis 155, el análisis de cadenas, desarrolla mucho la lógica cuando empezamos a programar, aunque sin duda un método muy elegante y moderno son las expresiones regulares.

Read More

Usando la librería Newtonsoft.Json para usar Json con C#

Ahora en el trabajo por aquello de la seguridad y la innovación se esta trabajando con archivos en formato Json.

¿Qué es el formato Json?

Ahora replico la definición de la página www.json.org

“JSON (JavaScript Object Notation – Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. Está basado en un subconjunto del Lenguaje de Programación JavaScriptStandard ECMA-262 3rd Edition – Diciembre 1999. JSON es un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que JSON sea un lenguaje ideal para el intercambio de datos.”

Últimamente y ante el auge de MVC, la definición de clases y objetos en los lenguajes de programación que se relacionan con los objetos de la base de datos esta muy en boga.

Read More

Microsoft Azure

Hemos empezado a husmear y a hacer pruebas muy básicas con el cloud, en principio con AWS. Ahora toca el turno a Microsoft Azure.

En el Instituto Nacional donde laboro llevamos varios años con un romance con el gigante del software comprando licencias corporativas de sus productos.

Estas licencias – llamadas suscripciones – ahora han empezado a hermanar su plataforma estrella de desarrollo de software – Visual Studio .NET – con la plataforma Azure.

Azure proporciona muchísimas soluciones y una de ellas es la que mostraré brevemente: la publicación de una página web en Azure.

En otros artículos comento de forma irónica como iniciamos con el desarrollo de aplicaciones web utilizando .NET con Visual Basic, para nuestras pruebas teníamos un equipo dedicado donde publicábamos el sitio web por medio del Internet Information Services, claro todo esto de alguna forma fuera de regla, ya que sentíamos que el área encargada de dar este servicio nos limitaba en cuanto a la configuración del servicio.

Read More