Você está na página 1de 13

Martn Segado

Eje

mp

lo

de l

Programacin de dispositivos mviles con Visual Studio .NET

ec

tur a

En este texto se aborda la implementacin de aplicaciones para dispositivos mviles, utilizando la tecnologa Microsoft .NET 2.0 bajo el entorno .NET Compact Framework, de forma que obtengamos una primera impresin.

Principalmente est basado en los dispositivos Pocket PC, aunque todo lo descrito puede ser fcilmente reutilizable para dis positivos SmartPhones, los cuales ejecutan Microsoft Windows Mobile 5.0. Esta obra abarca diversos temas basados en el lenguaje de programacin Vi sual Basic .NET y en el entorno de desarrollo que nos proporciona Microsoft, Visual Studio .NET 2005. Muestra las diferencias entre el entorno .NET Framework y el .NET Compact Framework y como desarrollar aplicaciones contra base de datos SQL Server 2005 Compact Edition.

Eje

mp

lo

Cuenta con diversas certificaciones, entre las cuales cabe mencionar: MCAD, MCSD, MSF, MCPD y varios cursos y exmenes realiza dos entre los que podemos destacar los siguientes: 70-298 Designing Security for a Microsoft Windows Server 2003 Network, 70-542 Microsoft Office Share Point Server 2007 - Application Development, 70-235 Developing Business Process and Integration Solutions Using Biztalk Server 2006 y 70-445: Microsoft SQL Server 2005 Business Intelligence Implementation and Maintenance.

de l

Ingeniero Informtico por la Universidad de Granada con ms de 10 aos de experiencia en el mundo del desarrollo de software, tanto Java como .NET. Pertenece a la familia de Alhambra-Eidos desde 2004 y ha sido autor tambin de la versin previa a este libro (Desarrollo para disposi tivos mviles con .NET Compact Framework 1.1).

ec

tur a

Sipnosis

Luarna
Programacin de dispositivos Mviles con Visual Estudio .Net Martn Segado - Alhambra Eidos De esta edicin: 2009, Luarna Ediciones, S.L.

www.luarna.com

Madrid, octubre de 2009

ISBN: 978-84-92684-53-3 Versin 1.0 (19-10-2009)

Eje

Cualquier forma de reproduccin, distribucin, comunicacin pblica o transformacin de esta obra solo puede ser realizada con la autorizacin de sus titulares, salvo excepcin prevista por la ley. Dirjase a CEDRO (Centro Espaol de Derechos Reprogrficos, www.cedro.org) si necesita fotocopiar, escanear o hacer copias digitales de algn fragmento de esta obra.

mp

lo

de l

ec

tur a

Programacin de dispositivos Mviles con Visual Estudio .NET

Eje

mp

lo

de l
Martn Segado

ec

tur a

Eje

Tablet PC ........................................................................................................................................ 45 Introduccin al Tablet PC..............................................................................................................45 Qu es un Tablet PC? .................................................................................................................. 46 El hardware ............................................................................................................................... 49 Desarrollo de proyectos con .NET ................................................................................................. 50 El SDK ..................................................................................................................................... 50 Instalacin del Tablet PC SDK ...................................................................................................... 51 Creacin de un proyecto Tablet PC ............................................................................................... 54 Extensiones para los Tablet PC ..................................................................................................... 60 Pgina |5

mp

SQL Server CE ...............................................................................................................................24 Introduccin .................................................................................................................................. 24 Instalacin y configuracin en el servidor ...................................................................................... 25 ActiveSync ............................................................................................................................... 25 Instalacin en el Pocket PC ........................................................................................................... 26 Acceso a datos con ADO.NET Compact Framework ..................................................................... 26 Replicacin y sincronizacin de datos ........................................................................................... 33 Instalacin de los componentes necesarios para la replicacin de SQL Server CE ...................... 34 Replicacin de los datos a travs de una aplicacin Visual Basic .NET ......................................43

lo

Pocket PC y .Net Compact Framework ...........................................................................................7 Introduccin ....................................................................................................................................7 Diferencias entre .Net Compact Framework y el Framework ...........................................................8 Caractersticas no incluidas en .NET Compact Framework ..........................................................9 Sobrecargas de mtodos ..........................................................................................................9 Controles no incluidos .............................................................................................................9 Funcionalidad XML ................................................................................................................9 Compatibilidad con bases de datos.........................................................................................10 Serializacin binaria .............................................................................................................. 10 Acceso al registro de Windows .............................................................................................. 10 Aprovechamiento de los componentes COM ......................................................................... 10 Seguridad .............................................................................................................................. 10 Servicios Web XML .............................................................................................................. 10 Impresin .............................................................................................................................. 11 GDI+ ..................................................................................................................................... 11 Entorno remoto ..................................................................................................................... 11 Desarrollo de proyectos con .NET ................................................................................................. 11 Caractersticas particulares de un Pocket PC ..............................................................................11 Opciones de posicin y tamao del formulario ....................................................................... 12 Mens ................................................................................................................................... 12 Panel del teclado virtual (InputPanel) .................................................................................... 13 Aplicaciones no grficas y de consola .................................................................................... 14 Debugando ............................................................................................................................ 15 Creacin de un proyecto Pocket PC ........................................................................................... 15 Hola mundo con Visual Studio .NET (Visual Basic) ........................................................... 15 Definicin de las propiedades del proyecto ............................................................................ 16 Generando el interfaz ............................................................................................................ 18 Pruebas de la aplicacin con el emulador de Pocket PC ................................................................. 21 Realizacin de pruebas en el emulador ...................................................................................... 21 Realizacin de pruebas en el dispositivo real ............................................................................. 21 Compilacin e instalacin de aplicaciones en el Pocket PC ........................................................ 22 Instalar aplicaciones en el dispositivo mvil .......................................................................... 22 Cmo crear un acceso en el botn Inicio ................................................................................ 22

de l

ec

tur a

Indice

Eje

mp
Pgina |6

lo

de l

ec

tur a

Ink (Tinta) ....................................................................................................................................... 61 Introduccin .................................................................................................................................. 61 Controles para trabajar con tinta (InkEdit, InkPicture) ................................................................... 61 Controles input Panel .................................................................................................................... 64 InkCollector .................................................................................................................................. 64 Reconocimiento de escritura (Ink Recognition) ............................................................................. 66 Configuracin del reconocimiento adecuado (Idioma, gesturas, zoom, etc) .................................... 70 InkOverlay, InkSelecting, InkErasing ............................................................................................ 71 Ink como tipo de datos (Ink serializacin) ..................................................................................... 77 Como guardar y recuperar el tipo de dato Ink ................................................................................ 78

Pocket PC y .Net Compact Framework


Introduccin

Como sabemos, la tecnologa sin cables lleva estando en el punto de mira desde hace mucho tiempo. Un mercado de mviles bien desarrollado, el desarrollo de la versin sexta del protocolo de Internet y la llegada de las tecnologas de conexin a Internet por banda ancha inalmbrica componen un nicho de mercado muy suculento para las compaas. En un futuro podremos observar como la prctica totalidad de la industria del software y del hardware lanzar nuevos productos o versiones de los antiguos con propiedades inalmbricas, infrarrojos, Bluetooth, Wireless Wi-fi, y muchas ms tecnologas que proporcionan la posibilidad de comunicacin entre dispositivos de forma rpida y sencilla. Dicho esto, en este captulo nos basaremos en uno de estos productos, el Pocket PC. La plataforma Pocket PC es la denominacin usada para referenciar a dispositivos de pequeo tamao con capacidades similares a la de un ordenador personal. Funcionan de manera autnoma y estn Pgina |7

Eje

mp

Aunque no es una novedad, estamos viviendo la era de transicin hacia la tecnologa de las comunicaciones inalmbricas. A diario podemos leer noticias sobre Intel, Nokia y Microsoft, o incluso de la misma Unin Europea, que adoptan medidas con clara tendencia a potenciar y exprimir las conexiones inalmbricas.

lo

de l

ec

tur a

Se denomina Pocket PC a la implantacin del sistema operativo Windows CE sobre un dispositivo de mano que carece de teclado. En su lugar se cuenta con una pantalla tctil de 240 x 320 puntos, es decir, la mitad en ambos tamaos que el formato estndar VGA, 640 x 480, pero en sentido apaisado.

Diferencias entre .Net Compact Framework y el Framework


El Microsoft .NET Compact Framework es la plataforma de desarrollo .NET para dispositivos pequeos y es la causa principal del xito de Microsoft en proveer a los usuarios de grandes experiencias en cualquier tiempo, lugar o dispositivo. El .NET Compact Framework trae el mundo del cdigo gestionado (manager code) y Servicios Web XML a los dispositivos mviles, y habilita la ejecucin de aplicaciones descargables en dispositivos tales como Asistentes Digitales Personales (PDAs), telfonos mviles, Pocket PCs, etc. Debido a que el .NET Compact Framework es un subconjunto del .NET Framework, los desarrolladores pueden fcilmente reutilizar cdigo existente basado en varios entornos. Microsoft entregar extensiones para Visual Studio .NET, llamadas Smart Device Programmability para Visual Studio .NET. Esto significa que los cuatro millones de desarrolladores que tienen experiencia con la versin Pgina |8

Eje

mp

lo

de l
Figura 1. Pocket PC

ec

tur a

equipados con la suficiente conectividad para relacionarse bien con sus hermanos mayores de sobremesa. La base de su funcionamiento es un potente y compacto sistema operativo, denominado oficialmente Microsoft Windows CE en su versin 3.0. Las siglas CE provienen de Compact Edition o edicin compacta. Esto dio lugar a un sistema operativo denominado ms coloquialmente como Pocket PC 2000, despus Pocket PC 2002 y, posteriormente, a una edicin ms evolucionada llamada Windows Mobile 2003.

Caractersticas no incluidas en .NET Compact Framework

Ha sido necesario realizar importantes recortes en .NET Framework para adaptarlo a las limitaciones de funcionamiento de Windows CE. En esta seccin se abordarn las caractersticas ms destacables de .NET Framework que no se han incluido en .NET Compact Framework.

Sobrecargas de mtodos

La sobrecarga de un mtodo ofrece maneras alternativas de llamar a dicho mtodo. Tambin aumenta el tamao del Framework. Por este motivo, .NET Compact Framework ha eliminado las sobrecargas de prcticamente todos los mtodos. Hay dos consecuencias bsicas de esto. Primero, es bastante probable que una determinada sobrecarga de un mtodo que sola utilizar con una aplicacin de escritorio, no est disponible a la hora de desarrollar aplicaciones basadas en .NET Compact Framework. Segundo, cuando est leyendo la documentacin, preste mucha atencin a si se admite un determinado mtodo en .NET Compact Framework.

Controles no incluidos

De todas formas, estn empezando a aparecer controles de otros fabricantes que sustituyen a los controles que no se han incluido en .NET Compact Framework.

Funcionalidad XML

Eje

Aunque se ha incluido buena parte de la funcionalidad de XML de .NET Compact Framework, ha sido necesario recortarla. El componente clave relacionado con el XML que no se ha incluido es el espacio de nombres System.Xml.XPath. El espacio de nombres XPath haca la interpretacin del XML mucho ms fcil que los mtodos que incorpora .NET Compact Framework. Para compensar esto, puede utilizar una combinacin de las bsquedas recursivas e iterativas con el modelo de objetos de documento (DOM, Document Object Model). Hay otro componente clave XML que no se ha incluido en .NET Compact Framework: XSLT (Extensible Stylesheet Language Transformation). Mediante XSLT, es posible convertir un documento XML en diferentes formatos. Pgina |9

mp

lo

Hay una serie de controles de .NET Framework que no se han incluido en .NET Compact Framework. La ausencia de la mayora de estos controles carece de importancia para los desarrolladores de aplicaciones mviles. Teniendo en cuenta que las aplicaciones mviles apenas imprimen, no es ningn problema eliminar la familia completa de controles relacionados con la impresin. Por tanto, se han eliminado los controles CrystalReportViewer, PageSetupDialog, PrintDialog, PrintDocument, PrintPreviewControl y PrintPreviewDialog. Puede sustituir la mayora de los cuadros de dilogo que faltan por sus propios cuadros de dilogo, o bien utilizar directamente los cuadros de dilogo del sistema mediante la API de Windows CE.

de l

ec

tur a

completa del .NET Framework pueden ahora desarrollar aplicaciones para pequeos dispositivos que ejecutan la versin compacta del Framework y debido a que cada desarrollador .NET ser tambin un desarrollador de aplicaciones para pequeos dispositivos, crecer exponencialmente el nmero de desarrolladores de .NET Compact Framework, ms que para cualquier otra plataforma de desarrollo para pequeos dispositivos.

Compatibilidad con bases de datos

.NET Compact Framework ofrece un conjunto robusto de herramientas relacionadas con los datos. La compatibilidad con la base de datos local la proporciona SQL Server CE. En el servidor, .NET Compact Framework ofrece compatibilidad con SQL Server. Tenga en cuenta que hay fabricantes que ofrecen componentes de .NET Compact Framework que permiten trabajar con bases de datos de Pocket Access.

Serializacin binaria

Debido a consideraciones de tamao y de rendimiento, no se han incluido las clases BinaryFormatter y SoapFormatter en .NET Compact Framework.

Acceso al registro de Windows

.NET Framework incorpora el espacio de nombres Microsoft.Win32.Registry, que facilita el trabajo con el registro de Windows desde una aplicacin. Obviamente, este espacio de nombres no se ha incluido en .NET Compact Framework, ya que hace referencia a Win32 y no a Windows CE. Puede tener acceso al registro de Windows CE llamando a las correspondientes API de Windows.

Aprovechamiento de los componentes COM

Seguridad

.NET Compact Framework no impide el acceso al cdigo no administrado. Cualquier aplicacin puede llamar a una API, ya sea del sistema o no. Actualmente, no hay ningn tipo de seguridad basada en funciones en .NET Compact Framework. El objeto principal no entiende de identidad conocida o de funcin conocida.

Eje

Servicios Web XML


La exclusin ms notable de las posibilidades de los servicios Web XML de .NET Compact Framework es la posibilidad de utilizar cookies. Las cookies se utilizan con frecuencia para almacenar el estado en el servidor entre diferentes llamadas desde un cliente. Aunque el uso de las cookies en los servicios Web no es tan frecuente como su uso en sitios Web, tambin se utilizan.

mp

lo

El proceso de incorporacin de objetos COM en una aplicacin basada en .NET Compact Framework consta de dos pasos. Primero, debe escribir un empaquetador DLL no administrado (es decir, en eMbedded Visual C++) que exponga el objeto COM. Dependiendo de la complejidad del objeto COM, hacer esto puede ser muy sencillo o extremadamente complicado. Segundo, debe utilizar PInvoke para tener acceso al empaquetador DLL. Afortunadamente, la comunidad de desarrolladores ya ha comenzado a trabajar en proporcionar acceso a los componentes COM utilizados con ms frecuencia.

de l

ec

tur a
P g i n a | 10

En relacin con el XML, .NET Compact Framework no ofrece actualmente compatibilidad para el desarrollo de servicios Web XML basados en dispositivos.

Impresin

.NET Compact Framework no ofrece ninguna funcin para imprimir. No hay ninguna manera fcil de interaccionar con impresoras de red ni con impresoras externas mediante infrarrojos.

La solucin para tener acceso a las impresoras de red es crear una aplicacin basada en el servidor, que acepte e imprima las tareas enviadas por la aplicacin mvil. Puede enviar una salida mediante el puerto de infrarrojos directamente a impresoras compatibles con infrarrojos. Puede utilizar el espacio de nombres System.Net.IrDA para tener acceso al puerto de infrarrojos del dispositivo.

GDI+

Entorno remoto

La primera versin de .NET Compact Framework no es compatible con el entorno remoto.

Desarrollo de proyectos con .NET

Caractersticas particulares de un Pocket PC


Si el lector ha trabajado alguna vez con una de estas unidades, la mayora de las caractersticas que relatar a continuacin le sern sumamente familiares. Para hacer ms fcil la interaccin de los usuarios con estos dispositivos, las aplicaciones diseadas para ellos normalmente se cargan desde el principio, consiguiendo as que estos puedan moverse rpidamente entre ellas. Esto es posible debido a una caracterstica que incorporan los Pocket PCs llamada smart minimize, la cul permite que las aplicaciones sigan cargadas en segundo nivel cuando no se estn utilizando, para que puedan ser activadas de nuevo fcilmente en el momento en que el usuario as lo requiera, manteniendo el estado en el que el usuario las dej de utilizar. Mientras que una aplicacin permanece en el estado smart minimized, no est visible para el usuario. Las aplicaciones para Pocket PC basadas en el .NET Compact Framework usan la propiedad MinimizeBox del formulario principal para controlar su comportamiento smart minimize. Cuando la propiedad MinimizeBox est activada (este es el estado por defecto), en la aplicacin aparece un botn X situado en la esquina superior derecha del formulario, tal y como se muestra en la Figura 2. Pulsando sobre dicho botn, hacemos que la aplicacin pase al estado smart minimized.

Eje

mp

lo

de l

Windows CE no es compatible de manera nativa con GDI+, por lo que las funcionalidades relacionadas con GDI+ se han eliminado de .NET Compact Framework.

ec

tur a
P g i n a | 11

.NET Compact Framework ofrece posibilidades de cifrado limitadas respecto a los servicios Web.

Figura 2. Aplicacin Pocket Pc con la propiedad "MinimizeBox" activada

Cuando la propiedad MinimizeBox del formulario principal est desactivada, la aplicacin muestra en su lugar un botn OK, tal y como muestra la Figura 3. Cuando dicho botn es pulsado, la aplicacin se cierra.

Figura 3. Aplicacin Pocket PC con la propiedad "MinimizeBox" desactivada

Opciones de posicin y tamao del formulario

Todos los formularios de .NET Compact Framework se crean a pantalla completa, ignorando el valor de las propiedades de tamao y localizacin. Sin embargo, en Windows CE, los formularios si que estn definidos por estas propiedades.

Mens

Las aplicaciones para Pocket PC basadas en .NET Compact Framework incluyen un men en el formulario principal, cuya posicin por defecto se encuentra en la parte inferior del formulario. Sin embargo en Windows CE .NET, el formulario principal de una aplicacin no es creado inicialmente con un men, y una vez que este es aadido, es posicionado en la parte superior del formulario. Los Pocket PCs tienen definida una barra de tareas estndar en la parte inferior de la pantalla, la cul es usada por todas las aplicaciones para mostrar los mens de seleccin y mostrar/ocultar el panel del teclado virtual. Cuando un usuario cambia de una aplicacin a otra, o de un formulario a otro, la barra de tareas siempre est asociada con el formulario activo en cada momento. Sin embargo, el .NET Compact Framework, oculta la barra de tareas si el formulario activo no tiene un men asociado, de ah que, el formulario principal sea creado con un men asociado para prevenir que la barra de tareas quede siempre oculta.

Eje

mp

lo

Los Pocket PCs suelen tener una pantalla de 240x320 (unas 4" diagonalmente). Si una aplicacin pudiera mostrar varios formularios simultneamente en una pantalla tan pequea, acabara confundiendo al usuario y dificultando su uso. Es por ello pues, por lo que por defecto todos los formularios creados por el .NET Compact Framework ocupan toda la pantalla, y esto se cumple incluso cuando la aplicacin intenta crear el formulario con un tamao ms pequeo que la pantalla. Es por ello, por lo que estos formularios a pantalla completa no pueden ser redimensionados ni reposicionados por el usuario.

de l

ec
P g i n a | 12

tur a

Con la ayuda del panel de control, es posible posicionar el TabControl en la de la parte superior del formulario, simplemente situando el Panel, en el lugar donde el TabControl es deseado. El TabControl estar pues situado dentro del Panel, sobre el borde superior del formulario.

Panel del teclado virtual (InputPanel)

Eje

El .NET Compact Framework provee la clase teclado virtual para facilitar las entradas de datos. El teclado virtual es una caracterstica especfica de los Pocket PC y Tablet PC, por lo que slo puede ser utilizado en aplicaciones para estos dispositivos. Si por ejemplo intentamos instanciar a la clase teclado virtual en una aplicacin de Windows CE, nos reportar un error. P g i n a | 13

mp
Figura 4. Pocket PC mostrando el teclado virtual

lo

de l

ec

La mayora de los Pocket PCs, no tienen teclado, aunque vienen provistos con un teclado virtual (basado en software) para la entrada de datos, tal y como se muestra en la Figura 4.

tur a

Los usuarios de Pocket PC normalmente utilizan el estilo de mantener pulsado el elemento para hacer una seleccin. El TabControl est situado de tal manera que la mano del usuario quedar debajo de l, y no cubrir el control cuando se est haciendo una seleccin.

Você também pode gostar