DESARROLLO PARA DISPOSITIVOS MÓVILESCON .NET COMPACT FRAMEWORKJoaquín Bonet SánchezMicrosoft StudentPartner
ÍndiceIntroducción: Windows Mobile.NET Compact FrameworkLocalización mediante GPSPocket Outlook ObjectModelBluetooth
Windows Mobile
Sistema operativo para móviles basado en Windows Embedded Compact (CE).Tres versiones diferenciadas:StandardDispositivos con pantalla no táctilNavegación mediante cursorDestinado a smartphonesClassicPantalla táctilSin funcionalidad de teléfonoDestinado a PDAsProfessionalTeléfonos con pantalla táctilDestinado a PDA-phonesWindows MobileIntroducción
Windows MobileWindows Embedded CE + Extensiones
Windows MobileCompact FrameworkSubconjunto de la versión del framework para sistemas de escritorio.Incluye un 30% de la BCL de su hermano mayor+ algunas clases específicasTamaño: 8% de la versión de escritorioLenguajes soportados: VB y C#.NET Framework.NET CF
ManagedServer sideNativeVisual Studio 2008ASP .NETMobile ControlsMFCATL.NET CompactFramework 3.5Win32Software Platform (APIs)Data AccessDevice ManagementPresentationCommunicationMultimediaRemote APIConfiguration*BluetoothNot. BrokerPocket WatsonConnection ManagerTAPI*SMS*  MAPI*  POOM*Home ScreenUser Interface/ShellHTML ControlDOMSQL MobileADO CEXMLCE DBOLE DBGAPICameraD3DMCE DBActiveSyncSQL MobileWindows EmbeddedCEPocket OutlookPocket Internet ExplorerWindows Media PlayerWindows MobileDriversDevice HardwareRadioProcessorMemoryGSM/GPRSCDMA/1xRTTWiFiBluetoothDisplayUSB or Serial* = Managed wrappersWindows MobileEsquema general
Windows XP SP2 / VistaVisual Studio 2008 (no sirven las Express).NET CF 2.0 SP2 / 3.5 SP1Centro de dispositivos de Windows MobileActiveSync 4.5 (sólo en Windows XP)Windows Mobile 6 SDKVirtual PC 2007 (sólo en Windows XP)Windows MobileRequisitos para empezar a desarrollar
Localización con GPS
Localización con GPSGran potencialPosibilidades más allá de mostrar mapasInformación localizadaNoticias, tiempo, tráfico…Localización de recursos cercanosTiendas, restaurantes y otros puntos de interésEl dispositivo puede informar a otros su propia posiciónAplicaciones sensibles al entorno
Localización con GPSNMEAProtocolo de comunicación para receptores GPS creado por la National Marine ElectronicsAssociation.Tramas GPGGA:$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47ChecksumLatitudLongitudHora UTCSatélitesAltitudComponenteComponentehttp://www.nmea.org - http://gpsinformation.org/dale/nmea.htm
Permiteacceso de alto nivel al hardware GPS usando la API “parseada”No hay necesidad de parsearlastramas NMEA a manoPara lasaplicaciones, el GPSID tiene la apariencia de hardware GPS físicoPara el hardware GPS, el GPSID es el únicoclientequehaceuso de élLos cambios de localización son devueltosmedianteeventos en un hiloseparadoLocalización con GPSGPS Intermediate Driver
Localización con GPSGPS Intermediate DriverMicrosoft.WindowsMobile.Samples.LocationCosas importantes a tener en cuentaCerrar el GPSID al terminarDesuscribirse de todos los eventos del GPS si no los vamos a usarSuscribirse a eventos Changedsignifica recibir cambios en Position en un hilo de ejecución distintoCuidado al actualizar los controles de la interfaz de usuarioCuidado con desuscribirse correctamente de los eventos ChangedLocalización con GPSGPS Intermediate Driver
Localización con GPSGPS Intermediate DriverDEMO
Pocket Outlook ObjectModel
Biblioteca para el acceso a los datos de Outlook Mobile y sus objetos contenedores.Permite crear, modificar y consultar:Elementos del calendario.Tareas.Contactos.Mensajería.Carpetas contenedoras.Pocket Outlook ObjectModelDescripción
OutlookSession: clase que permite generar un objeto de sesión de POOM.Imprescindible para crear y manipular elementos de PIM.Establece una conexión con la base de datos de Outlook Mobile.Pocket Outlook ObjectModelOutlook Session
Pocket Outlook ObjectModelEnvío e intercepción de SMSDEMO
Presta atencióna la siguiente demoy no la uses para hacer el mal
Caso real: MobiTrackerAutores: YoussefMonkachi y Joaquín BonetRastreo de terminales móviles en caso de pérdida/robo vía web.#mt#posicion#contraseña
Bluetooth
Tecnología de radio de corto alcance para transmisión de voz y datos entre dispositivos.Funciona en una banda de frecuencias no regulada: 2,4 GHzAl igual que Wi-Fi o un microondasBluetoothDescripción* 720 Kbps reales
Bluetoothen .NET Compact FrameworkNo se proporciona un soporte directoNo se soporta el descubrimiento de dispositivos y servicios BTComunicación a través de puertos COMPrevio emparejado de los dispositivosPuertos COM virtuales para entrada y salida de datosDos opciones de uso:Usar la API no manejadaRecurrir a bibliotecas de terceros
Bluetooth32feet.NETBiblioteca de comunicaciones totalmente libre y gratuitaIncorpora soporta para:Bluetooth (pila de Microsoft)IrDAObject Exchange (OBEX)Requiere la versión 2.0 del FW o superiorhttp://inthehand.com/content/32feet.aspxPara soporte de otras pilas BT existen bibliotecas de pago
BluetoothEnvío de información a otros dispositivosDEMO
Recursos+ info en:Mobile .NetUsersGroup: http://www.mobilenug.comhttp://www.desarrollomobile.netWindows Mobile Team Blog: http://blogs.msdn.com/windowsmobileWindows Mobile forDevelopers: http://developers.windowsmobile.comBlog de J.M. Torres: http://jmtorres.blogspot.comLibro: Wigley A., Moth D., Foot P. – Mobile DevelopmentHandbook – 2007, Microsoft Press.Preguntando a un servidor ;-)
Q&A
¡GRACIAS!joaquin.bonet@gmail.comhttp://polidotnet.dotnetclubs.com
Desarrollo Para Dispositivos Móviles

Desarrollo Para Dispositivos Móviles

  • 1.
    DESARROLLO PARA DISPOSITIVOSMÓVILESCON .NET COMPACT FRAMEWORKJoaquín Bonet SánchezMicrosoft StudentPartner
  • 2.
    ÍndiceIntroducción: Windows Mobile.NETCompact FrameworkLocalización mediante GPSPocket Outlook ObjectModelBluetooth
  • 3.
  • 4.
    Sistema operativo paramóviles basado en Windows Embedded Compact (CE).Tres versiones diferenciadas:StandardDispositivos con pantalla no táctilNavegación mediante cursorDestinado a smartphonesClassicPantalla táctilSin funcionalidad de teléfonoDestinado a PDAsProfessionalTeléfonos con pantalla táctilDestinado a PDA-phonesWindows MobileIntroducción
  • 5.
  • 6.
    Windows MobileCompact FrameworkSubconjuntode la versión del framework para sistemas de escritorio.Incluye un 30% de la BCL de su hermano mayor+ algunas clases específicasTamaño: 8% de la versión de escritorioLenguajes soportados: VB y C#.NET Framework.NET CF
  • 7.
    ManagedServer sideNativeVisual Studio2008ASP .NETMobile ControlsMFCATL.NET CompactFramework 3.5Win32Software Platform (APIs)Data AccessDevice ManagementPresentationCommunicationMultimediaRemote APIConfiguration*BluetoothNot. BrokerPocket WatsonConnection ManagerTAPI*SMS* MAPI* POOM*Home ScreenUser Interface/ShellHTML ControlDOMSQL MobileADO CEXMLCE DBOLE DBGAPICameraD3DMCE DBActiveSyncSQL MobileWindows EmbeddedCEPocket OutlookPocket Internet ExplorerWindows Media PlayerWindows MobileDriversDevice HardwareRadioProcessorMemoryGSM/GPRSCDMA/1xRTTWiFiBluetoothDisplayUSB or Serial* = Managed wrappersWindows MobileEsquema general
  • 8.
    Windows XP SP2/ VistaVisual Studio 2008 (no sirven las Express).NET CF 2.0 SP2 / 3.5 SP1Centro de dispositivos de Windows MobileActiveSync 4.5 (sólo en Windows XP)Windows Mobile 6 SDKVirtual PC 2007 (sólo en Windows XP)Windows MobileRequisitos para empezar a desarrollar
  • 9.
  • 10.
    Localización con GPSGranpotencialPosibilidades más allá de mostrar mapasInformación localizadaNoticias, tiempo, tráfico…Localización de recursos cercanosTiendas, restaurantes y otros puntos de interésEl dispositivo puede informar a otros su propia posiciónAplicaciones sensibles al entorno
  • 11.
    Localización con GPSNMEAProtocolode comunicación para receptores GPS creado por la National Marine ElectronicsAssociation.Tramas GPGGA:$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47ChecksumLatitudLongitudHora UTCSatélitesAltitudComponenteComponentehttp://www.nmea.org - http://gpsinformation.org/dale/nmea.htm
  • 12.
    Permiteacceso de altonivel al hardware GPS usando la API “parseada”No hay necesidad de parsearlastramas NMEA a manoPara lasaplicaciones, el GPSID tiene la apariencia de hardware GPS físicoPara el hardware GPS, el GPSID es el únicoclientequehaceuso de élLos cambios de localización son devueltosmedianteeventos en un hiloseparadoLocalización con GPSGPS Intermediate Driver
  • 13.
    Localización con GPSGPSIntermediate DriverMicrosoft.WindowsMobile.Samples.LocationCosas importantes a tener en cuentaCerrar el GPSID al terminarDesuscribirse de todos los eventos del GPS si no los vamos a usarSuscribirse a eventos Changedsignifica recibir cambios en Position en un hilo de ejecución distintoCuidado al actualizar los controles de la interfaz de usuarioCuidado con desuscribirse correctamente de los eventos ChangedLocalización con GPSGPS Intermediate Driver
  • 14.
    Localización con GPSGPSIntermediate DriverDEMO
  • 15.
  • 16.
    Biblioteca para elacceso a los datos de Outlook Mobile y sus objetos contenedores.Permite crear, modificar y consultar:Elementos del calendario.Tareas.Contactos.Mensajería.Carpetas contenedoras.Pocket Outlook ObjectModelDescripción
  • 17.
    OutlookSession: clase quepermite generar un objeto de sesión de POOM.Imprescindible para crear y manipular elementos de PIM.Establece una conexión con la base de datos de Outlook Mobile.Pocket Outlook ObjectModelOutlook Session
  • 18.
    Pocket Outlook ObjectModelEnvíoe intercepción de SMSDEMO
  • 19.
    Presta atencióna lasiguiente demoy no la uses para hacer el mal
  • 20.
    Caso real: MobiTrackerAutores:YoussefMonkachi y Joaquín BonetRastreo de terminales móviles en caso de pérdida/robo vía web.#mt#posicion#contraseña
  • 21.
  • 22.
    Tecnología de radiode corto alcance para transmisión de voz y datos entre dispositivos.Funciona en una banda de frecuencias no regulada: 2,4 GHzAl igual que Wi-Fi o un microondasBluetoothDescripción* 720 Kbps reales
  • 23.
    Bluetoothen .NET CompactFrameworkNo se proporciona un soporte directoNo se soporta el descubrimiento de dispositivos y servicios BTComunicación a través de puertos COMPrevio emparejado de los dispositivosPuertos COM virtuales para entrada y salida de datosDos opciones de uso:Usar la API no manejadaRecurrir a bibliotecas de terceros
  • 24.
    Bluetooth32feet.NETBiblioteca de comunicacionestotalmente libre y gratuitaIncorpora soporta para:Bluetooth (pila de Microsoft)IrDAObject Exchange (OBEX)Requiere la versión 2.0 del FW o superiorhttp://inthehand.com/content/32feet.aspxPara soporte de otras pilas BT existen bibliotecas de pago
  • 25.
    BluetoothEnvío de informacióna otros dispositivosDEMO
  • 26.
    Recursos+ info en:Mobile.NetUsersGroup: http://www.mobilenug.comhttp://www.desarrollomobile.netWindows Mobile Team Blog: http://blogs.msdn.com/windowsmobileWindows Mobile forDevelopers: http://developers.windowsmobile.comBlog de J.M. Torres: http://jmtorres.blogspot.comLibro: Wigley A., Moth D., Foot P. – Mobile DevelopmentHandbook – 2007, Microsoft Press.Preguntando a un servidor ;-)
  • 27.
  • 28.