Sei sulla pagina 1di 13

a

tur
ec
Programacin de dispositivos mviles
con Visual Studio .NET

l
de
Martn Segado
lo
mp
Eje
Sipnosis

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.

tur
Principalmente est basado en los dispositivos Pocket PC, aunque todo lo descrito puede ser fcilmen-
te 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 diferen-
cias entre el entorno .NET Framework y el .NET Compact Framework y como desarrollar aplicaciones
contra base de datos SQL Server 2005 Compact Edition.

ec
Ingeniero Informtico por la Universidad de Granada con ms de 10

l
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 dis-
de
posi tivos mviles con .NET Compact Framework 1.1).

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 Securi-
ty for a Microsoft Windows Server 2003 Network, 70-542 Microsoft
Office Share Point Server 2007 - Application Development, 70-235 De-
veloping Business Process and Integration Solutions Using Biztalk Ser-
ver 2006 y 70-445: Microsoft SQL Server 2005 Business Intelligence -
Implementation and Maintenance.
lo
mp
Eje
a
Luarna

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

ec
www.luarna.com

Madrid, octubre de 2009

l
de
ISBN: 978-84-92684-53-3

Versin 1.0 (19-10-2009)


lo
mp
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.
a
tur
l ec
de
Programacin de dispositivos Mviles con
Visual Estudio .NET
lo

Martn Segado
mp
Eje
Indice

a
Pocket PC y .Net Compact Framework ...........................................................................................7
Introduccin ....................................................................................................................................7
Diferencias entre .Net Compact Framework y el Framework ...........................................................8

tur
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

ec
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

l
Opciones de posicin y tamao del formulario ....................................................................... 12
Mens ................................................................................................................................... 12
Panel del teclado virtual (InputPanel) .................................................................................... 13
de
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
lo

Instalar aplicaciones en el dispositivo mvil .......................................................................... 22


Cmo crear un acceso en el botn Inicio ................................................................................ 22
SQL Server CE ...............................................................................................................................24
Introduccin .................................................................................................................................. 24
mp

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
Tablet PC ........................................................................................................................................ 45
Introduccin al Tablet PC..............................................................................................................45
Eje

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
Ink (Tinta) ....................................................................................................................................... 61

a
Introduccin .................................................................................................................................. 61
Controles para trabajar con tinta (InkEdit, InkPicture) ................................................................... 61
Controles input Panel .................................................................................................................... 64
InkCollector .................................................................................................................................. 64

tur
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

l ec
de
lo
mp
Eje

Pgina |6
a
tur
l ec
de
Pocket PC y .Net Compact Framework
lo

Introduccin
Aunque no es una novedad, estamos viviendo la era de transicin hacia la tecnologa de las comunica-
ciones inalmbricas. A diario podemos leer noticias sobre Intel, Nokia y Microsoft, o incluso de la
mp

misma Unin Europea, que adoptan medidas con clara tendencia a potenciar y exprimir las conexiones
inalmbricas.

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, Blue-
Eje

tooth, 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
equipados con la suficiente conectividad para relacionarse bien con sus hermanos mayores de sobre-

a
mesa. La base de su funcionamiento es un potente y compacto sistema operativo, denominado oficial-
mente Microsoft Windows CE en su versin 3.0. Las siglas CE provienen de Compact Edition o edi-
cin 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 Win-

tur
dows Mobile 2003.

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 de-
cir, la mitad en ambos tamaos que el formato estndar VGA, 640 x 480, pero en sentido apaisado.

l ec
de
lo

Figura 1. Pocket PC
mp

Diferencias entre .Net Compact Framework y el Frame-


work
El Microsoft .NET Compact Framework es la plataforma de desarrollo .NET para dispositivos peque-
os 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 gestio-
nado (manager code) y Servicios Web XML a los dispositivos mviles, y habilita la ejecucin de apli-
Eje

caciones 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 desarrollado-
res pueden fcilmente reutilizar cdigo existente basado en varios entornos. Microsoft entregar ex-
tensiones 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
completa del .NET Framework pueden ahora desarrollar aplicaciones para pequeos dispositivos que

a
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.

tur
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.

ec
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.

l
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 des-
arrollar aplicaciones basadas en .NET Compact Framework. Segundo, cuando est leyendo la docu-
de
mentacin, preste mucha atencin a si se admite un determinado mtodo en .NET Compact Frame-
work.

Controles no incluidos
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 aplica-
ciones mviles. Teniendo en cuenta que las aplicaciones mviles apenas imprimen, no es ningn pro-
lo

blema eliminar la familia completa de controles relacionados con la impresin. Por tanto, se han eli-
minado los controles CrystalReportViewer, PageSetupDialog, PrintDialog, PrintDocument, PrintPre-
viewControl 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 me-
diante la API de Windows CE.
mp

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

Funcionalidad XML
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 mu-
Eje

cho 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 docu-
mento (DOM, Document Object Model).

Hay otro componente clave XML que no se ha incluido en .NET Compact Framework: XSLT (Exten-
sible Stylesheet Language Transformation). Mediante XSLT, es posible convertir un documento XML
en diferentes formatos.

Pgina |9
En relacin con el XML, .NET Compact Framework no ofrece actualmente compatibilidad para el

a
desarrollo de servicios Web XML basados en dispositivos.

Compatibilidad con bases de datos

tur
.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 Com-
pact 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.

ec
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

l
.NET Framework incorpora el espacio de nombres Microsoft.Win32.Registry, que facilita el trabajo
de
con el registro de Windows desde una aplicacin. Obviamente, este espacio de nombres no se ha in-
cluido 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


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 eM-
lo

bedded 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 comen-
zado a trabajar en proporcionar acceso a los componentes COM utilizados con ms frecuencia.
mp

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 Frame-
work 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.

P g i n a | 10
.NET Compact Framework ofrece posibilidades de cifrado limitadas respecto a los servicios Web.

a
Impresin

tur
.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 in-

ec
frarrojos del dispositivo.

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

Entorno remoto
l
de
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


lo

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 rpi-
mp

damente entre ellas. Esto es posible debido a una caracterstica que incorporan los Pocket PCs llama-
da 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 usua-
rio 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 Minimi-
zeBox del formulario principal para controlar su comportamiento smart minimize. Cuando la pro-
piedad 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. Pul-
Eje

sando sobre dicho botn, hacemos que la aplicacin pase al estado smart minimized.

P g i n a | 11
a
tur
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 aplica-
cin se cierra.

l ec
Figura 3. Aplicacin Pocket PC con la propiedad "MinimizeBox" desactivada
de
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.

Los Pocket PCs suelen tener una pantalla de 240x320 (unas 4" diagonalmente). Si una aplicacin pu-
lo

diera 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 aplica-
cin 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.
mp

Mens
Las aplicaciones para Pocket PC basadas en .NET Compact Framework incluyen un men en el for-
mulario principal, cuya posicin por defecto se encuentra en la parte inferior del formulario. Sin em-
bargo 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
Eje

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.

P g i n a | 12
Los usuarios de Pocket PC normalmente utilizan el estilo de mantener pulsado el elemento para hacer

a
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.

Con la ayuda del panel de control, es posible posicionar el TabControl en la de la parte superior del

tur
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)


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

l ec
de
lo
mp
Eje

Figura 4. Pocket PC mostrando el teclado virtual

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 tecla-
do virtual en una aplicacin de Windows CE, nos reportar un error.

P g i n a | 13

Potrebbero piacerti anche