lunes, 19 de septiembre de 2011

Aplicacion Java para Android

Hola de nuevo amigos bueno les cuento que como parte de un deber para mi materia de Programación Avanzada se me asigno una tarea, la de crear una aplicación para Android en lenguaje Java. Pues les cuento que es toda una odisea hacer esto. A continuación les voy a dar los pasos que seguí para conseguir mi gran hazaña jaja.

Lo primero que hice fue descargar el SDK de Android desde la página para developers, lo instalé y me salió el Android Manager junto con los diversos paquetes a instalar. Yo instale la última versión 3.2 y también Eclipse (mi Netbeans no funcionaba), a continuación instalé el Android SDK en Eclipse; como hacemos esto pues así: menú Ayuda > Instalar nuevo software > en el dialogo escogemos Agregar > Y nos sale Agregar Repositorio donde ponemos en el nombre: ADT Plugin y en la dirección los repositorios de Google: https://dl-ssl.google.com/android/eclipse/ > Procederá a instalar y reiniciar Eclipse.





Luego de eso en el Android Manager en la pestaña Virtual Devices creas una nueva aplicación donde le das todos los atributos que quieras que tenga: teclado incluido, etc.
En Eclipse creas un nuevo proyecto > pestaña Otros > Android > Proyecto Android > pones el nombre de tu proyecto en este caso yo le puse Calculadora (fue lo primero que se me ocurrió jaja) > bajando un poco está el nombre de la aplicación (igual que el proyecto) > y nombre de paquete (prueba.Calculadora).
En las carpetas de la solución me dirigí a res > Layout > main.xml. Aquí en cada etiqueta  asigné el diseño que iba a tener mi calculadora. Usé tres de ellas, Edit Text, Text View y  Button.

Edit Text para los labels, Text View para las cajas de texto y Button para los botones.


Luego programé en la pestaña Activity el funcionamiento de la calculadora.

Debo mencionar que tuve algunos problemas con la conectividad Eclipse-Android. Había problemas con los paths, buscando en internet encontré que podía copiar todo el directorio de la carpeta donde está Android a la partición D: y ahí si corría normalmente. Pero oh sorpresa se tardaba muchos minutos para mostrar la simulación.

Ciertamente no sé cuál es el problema porque no arroja ningún error solo sigue cargando. Muestra un mensaje que dice Esperando a que cargue el Home pero nada.

Por eso pido a ustedes amigos desarrolladores que si saben cómo ayudarme de antemano se los agradecería

En una próxima entrega espero ya haberlo corregido y que ustedes puedan ver mi hermosa aplicación. Nos vemos, bye

Stefy :)

miércoles, 14 de septiembre de 2011

SQL Server Compact

Hola!!! Hoy voy a hablarles sobre el motor de base de datos Microsoft SQL Server Compact.

En este artículo me enfoco en su reciente versión SQL Server Compact 3.5.




En primer lugar debo decirles que es de libre distribución y se lo usa tanto para aplicaciones 
de escritorio como para móviles y tablets, muy conveniente digo yo. También está orientado a los SmartClients (Clientes Ligeros) para los sistemas ocasionalmente conectados.

Se lo comercializa junto con Visual Studio 2008 SP1.

Se basa en archivos entonces esto quiere decir que la cadena de acceso a la solución recae en el archivo de base de datos (.sdf).

Su manera de ejecución no se hace a través de un servicio. Esta es la gran diferencia al usar la versión Compact 3.5 contra las de SQL Server o la Express Edition.

Tiene un limite de hasta 256 conexiones, incluso se pueden abrir estas conexiones en diferentes procesos.

Buceando un poco por Wikipedia encuentro que el tamaño máximo del archivo de base de datos es de 4GB y que podemos modificar su extensión. También posee un procesador y para los entornos móviles un optimizador de consultas.

La versión 3.5 de este motor nos trae muchas novedades como los diversos tipos de instrucciones entre las cuales encontramos: Cast, OuterApply y Top, el Set Identity Insert o las llamadas consultas jerarquizadas con la instrucción Select From.

Con respecto a la seguridad nos trae la posibilidad de cifrar los ficheros de la base de datos con contraseñas de hasta máximo 40 caracteres; hay tres modos de cifrado: el modo por defecto es el Plataform Default, otro es el PPC2003 Compatibility y por último el Engine Default.

En materia de Desarrollo se puede utilizar en aplicaciones .NET Framework y .NET Compact Framework o también en las aplicaciones nativas. Posee también una biblioteca de clases muy extensa que abarca desde la creación de la base de datos hasta la manipulación de dichos datos.

Se puede incorporar a las aplicaciones como una opción de implementación; dos modelos de distribución proporcionados por el motor uno de ellos es ClickOnce que utiliza la instalación tradicional o el otro modelo basado en archivos el cual agrega las DLL y las distribuye con el proyecto.

Para las cadenas de conexiones proporciona una macro que es el Directorio de Datos, esta permite que en vez de escribir toda la ruta de acceso solo agregamos |DataDirectory| (no olviden las barras verticales) y luego el nombre del archivo sdf. Ojo esto va en el DataSource.
Una ventaja es que existe compatibilidad con las versiones anteriores como la 3.1, sin embargo si uno intenta abrir un archivo de una versión anterior nos sale un mensaje diciendo que no se puede abrir ese archivo. Si queremos abrirlo debemos actualizar el archivo de base de datos en el cuadro de dialogo Actualizar. Les advierto que una vez hecho esto no podrán abrir el archivo en una versión anterior.

La documentación no se va instalar de manera local para ello debemos ir a SQL Server Compact 3.5 Books Online Download Center, aquí podrán encontrar los conceptos y la programación para el desarrollo, la administración e implementación para las diversas aplicaciones.

Implementa un mecanismo de agregación de marcas de versión a las filas de una tabla por medio del tipo de datos TimeStamp (RowVersion) el cual expone números binarios generados automáticamente y son únicos en la base de datos.

En los equipos de escritorio admite ámbito de transacciones.

Se ha mejorado también el diseñador de tablas a fin de proporcionar al usuario una interfaz que permita crear relaciones entre la clave principal y la clave externa en las tablas.

Admite también el componente LINQ-to-SQL; este componente crea una estructura de tiempo de ejecución para la administración de datos relacionales como objetos, todo esto sin afectar la capacidad de consulta. Por lo cual traduce consultas Transact-SQL y esta se ejecutan en SQL Server Compact, luego los resultados tabulares de dichas consultas vuelven a ser objetos, de acuerdo a la definición del desarrollador de aplicaciones. Nota: no admite diseñador en este componente.

El motor debe usar la utilidad SQLMetal que es una herramienta de línea de comandos que genera los códigos y las asignaciones LINQ-to-SQL del Framework de .NET.

SQLMetal tiene muchos usos entre ellos tenemos: desde una base de datos; la personalización de archivos de lenguaje intermedio de marcado de base (.dbml) o  generación de atributos o archivos de asignación – y desde archivos dbml generación de código, atributos o archivos de asignación.

Sin duda numerosas novedades y características del motor. Así que ojo ustedes desarrolladores de aplicaciones móviles llego un nuevo aliado.

Referencias:

domingo, 16 de enero de 2011

VB.Net en Dispositivos móviles inteligentes - Smartphones


En esta era digital es necesario por no decir vital un teléfono inteligente o Smartphone, nos permite además de comunicarnos con nuestra familia y amigos y otras funciones de un teléfono sino también gestionar nuestra oficina desde fuera con sus múltiples aplicaciones tales como: correo electrónico, chat, servicios web, entre otros; nos hace más fácil trabajar incluso a distancia.

Hagamos un recuento verán tenemos muchos dispositivos inteligentes en el mercado como Blackberrys, Nokias, IPhones y Samsumgs.  Al parecer las compañías de telefonía móvil se están poniendo al día en la carrera de satisfacer al usuario y cada vez salen nuevos modelos con muchas más características muy novedosas.



Echemos una mirada al software con que cuentan estos equipos:

Symbian una iniciativa de Nokia que apareció en 1998 con características como Reproducción de contenido multimedia lo cual supongo era una gran novedad en ese tiempo.

PalmOS diseñado para lo que es actualmente 3COM como plataforma de dispositivos Palm que era estándar de los PDAs pero que ha perdido mucho mercado actualmente.



Windows Mobile, sin duda uno de los más populares, de la compañía Microsoft utilizado en todo tipo de dispositivos (Asistentes personales, Smartphones, Reproductores multimedia, etc.) este SO ha ido evolucionando hasta su última versión Windows Mobile 6 con muchas aplicaciones de Windows para PCs.

Android basado en Linux y perteneciente a Google, se ubica en el primer puesto en venta de teléfonos inteligentes basados en esta plataforma en Estados Unidos y Actualmente  posee el 32,9% de cuota de mercado a escala mundial de los teléfonos inteligentes, por delante de Symbian que tiene 30,6%. En tercer lugar se sitúa Apple con cuota de mercado del 16%.
Sin duda y algo muy importante es quizás la conectividad para los usuarios y aquí aparece .NET FRAMEWORK que cuenta con herramientas necesarias para el desarrollo de aplicaciones además de un entorno de ejecución para las mismas.

Entre sus características más destacables tenemos la Plataforma de Ejecución Intermedia o CLR (Common Language Runtime) que provee un componente de software intermedio que se dispone entre las aplicaciones .NET y el SO ¿qué quiere decir esto?  que toma el control de la aplicación en tiempo de ejecución; Lenguajes Orientados a Objetos; Es multilenguaje osea que todos los lenguajes pueden interactuar entre ellos pudiendo utilizar más de uno en el desarrollo de una misma aplicación; Permite crear aplicaciones corporativas; Provee un único modelo de programación para cualquier aplicación sin importar si son de escritorio, Web o para móviles; Puede interactuar con COM y código no administrado(que es un código que no se ejecuta sobre el Framework sino directamente sobre el SO); Usa protocolos estándares lo que le permite interactuar con aplicaciones desarrolladas en otras plataformas.
En fin, una verdadera maravilla ¿no? Existen tres versiones de .NET FRAMEWORK está la .NET Framework Redistributable Package que se utiliza en ambientes de producción, la .NET Framework SDK que se utiliza en ambientes de desarrollo y la .NET Compact Framework que se adapta a las limitaciones de los dispositivos móviles como Pocket PCs y Smartphones, se instala sobre la versión móvil de Windows.

Esta última proporciona clases que se utilizan en el desarrollo de aplicaciones móviles y la ejecución de programas independientes del hardware.

También el ASP.NET Mobile que permite el desarrollo de aplicaciones Web para móviles. ¿Qué hace esto? Pues permite que el servidor Web interactúe con una amplia gama de dispositivos móviles. Genial ¿no?

Se puede incluso crear un pagina web esto se hace a partir de una clase llamada MobilePage que Actúa como la clase base de todas las páginas de formularios Web Forms de ASP.NET Mobile.



Pero el objetivo principal de la arquitectura de ASP.Net no es crear paginas únicas que se procesen en exploradores de dispositivos de escritorio o móviles ya que puesto que una de la limitaciones de los exploradores de dispositivos móviles es que la gran mayoría de estos dispone de una pantalla más pequeña que la de un monitor de PC por lo que explorar un pagina web es un proceso tedioso en el que el usuario debe clickear en varios controles para así poder obtener el contenido de dicha pagina y su lógica de presentación es similar. Por eso, por estas razones, debe crear páginas independientes en la aplicación Web ASP.NET para su uso en exploradores de escritorio y de dispositivos móviles. Una página desarrollada específicamente para los exploradores de dispositivos móviles permite dividir la lógica de presentación en partes más pequeñas que funcionen mejor para el área de presentación y el hardware de entrada de datos del dispositivo.



Y por si fuera poco existe una versión de .NET Compact Framework que también está disponible para la consola Xbox 360 de Microsoft con la XNA Game Studio la cual describe como desarrollar juegos para dicha consola y aunque con algunas diferencias es similar al desarrollo de juegos de Windows.

Aunque muchos dicen que es un pack de Bibliotecas (‘.dll’) que incluye funciones y cálculos ya resueltos y cito textualmente a un bloguero, es verdad no se lo niega pero es una gran herramienta para los desarrolladores y les sirve para no perder el tiempo creando sus propias bibliotecas sino que todo ya está listo para usar yo creo que eso es genial.

Como punto final y les he dado para largo revisen todo lo que he mencionado antes y  díganme si no es una gran inversión.

Claro todo el rollo ha sido muy tecnológico y demás siendo sincera no lo he probado pero ya lo voy a hacer aunque mi maquina se destroce jajaja (mejor antes veo un tutorial).
Bueno amigos como podemos ver existen muchas aplicaciones de .NET para móviles, solo es cuestión de atreverse, usarlas y luego cuéntenme como les va… Chaíto!!!