Saltar al contenido principal

Desarrollo

Inicio
Novedades
Desarrollo
Infraestructura
Recursos
Dynamics Mobile
Blog Mnug
Imagine Mobile
Buscar

Mobile .Net users group > Desarrollo
Seccion para desarrolladores

 Desarrollo sobre Windows Mobile

MSDEV ha publicado 8 Webcast de alto interés sobre desarrollo de aplicaciones en Windows Mobile 6.5. Os los recomiendo ya que tienen muy buena calidad (en todos los sentidos) y os ayudarán tanto a empezar a desarrollar sobre WM6.5 como a descubrir pequeños trucos que hasta ahora no conocíais.

1

Getting Started with Application Development for Windows Mobile 6.5

     

2

Using SQL Server Compact Edition with Windows Mobile 6.5

     

3

Accessing Local Files with Windows Mobile 6.5

     

4

Building a GPS-aware Application with Windows Mobile 6.5

     

5

Building a Windows Mobile Application with Bing

     

6

Basic Messaging with Windows Mobile 6.5

     

7

Windows Mobile 6.5 Security Fundamentals

     

8

Introducing the Gesture APIs in Windows Mobile 6.5

Fecha de creación: 28/01/2010 0:00
Redactor: Eduardo Ortega Bermejo

Ese es el nombre que puse a la charla que di ayer en SIMO, y es que efectivamente es de lo que hablamos.

Para todos los que asististeis (muchas muchas muchas gracias) y para todos los que no, aquí tenéis la sesión completa con las demos que os enseñé.

image

Agenda:

}Herramientas de desarrollo de aplicaciones para Windows Mobile
}Desarrollo de aplicaciones móviles con Visual Studio 2008
}Desarrollo multimedia con GPS, Mensajería y Telefonía
}Desarrollo de Widgets con Windows Mobile 6.5
}Windows® Marketplace for Windows Mobile
}¡Subiendo las demos a Marketplace!

Aplicaciones de demo:

Pirator Domestic Solution (Con fuentes) –> Aqui

Xilofono Humano (Con fuentes) –> Aquí

image image image

Gracias a todos por vuestro apoyo

Nos vemos en otro evento

 

Banner_White_1_lit

Mas info en el blog de Eduardo Ortega
Fecha de creación: 12/11/2009 0:00
Redactor: Eduardo Ortega Bermejo

Dándole caña a SyncServices: SyncComm CODEPLEX

Un miembro reconocido de nuestra comunidad, José Miguel Torres, se ha currado un encapsulado de SyncServices para ayudaros en vuestros desarrollos a la hora de crear una arquitectura de sincronización por SyncServices entre clientes móviles y fuentes de datos heterogéneas.

Este proyecto consta de dos partes:

  • SyncComm: compuesto a su vez de dos proyectos, uno cliente (WCF Service Proxy) y otro servidor (WCF Service). Ademas otros tres proyectos mas, uno, una aplicación de consola, que es donde se aloja el servicio WCF, otro un DbServerSyncProvider y otro una aplicación de Windows Mobile 5.0 Professional, que puede cambiarse sin problema a otra plataforma de destino como WM 6.X.
    • SyncComm.Services
    • SyncComm.Services.Host
    • SyncApp.RemoteProvider
    • GZipEncoder

  • SyncApp:
    • SyncComm.Mobile
    • AppMobileSync
    • Microsoft.Samples.Indigo.GzipEncoder: Optional

 Mis felicitaciones a este fantástico desarrollador y MVP de movilidad de España.

 

Mas info aqui --> http://synccomm.codeplex.com/


Fecha de creación: 14/07/2009 14:55
Redactor: Eduardo Ortega
1 - 3 Siguiente

 Desarrollo sobre Windows Embedded

Kit de Certificación para Windows Embedded CE 6.0
 
Atención fanticos de las certificaciones, hace un tiempo ya se publico la existencia en MSDN de un kit de certificación GRATUITO para Windows CE 6.0.

Windows Embedded

Este kit además de permitirnos (una vez registrados) descargar todo su contenido en pdf incluye además un voucher con el 50% de descuento para poder realizar el examen. Pero ojito que la oferta ¡¡¡CADUCA el 30 de Agosto!!!
 
El kit incluye los siguientes capitulos y podrés acceder a ellos en este enlace
 
Capitulo 1 - Customizing the Operating System Design
Capitulo 2 - Building and Deploying the Runtime Image
Capitulo 3 - Performing System Programming
Capitulo 4 - Debugging and Testing the System
Capitulo 5 - Customizing a Board Support Package
Capitulo 6 - Developing Device Drivers
 
¡¡Daros prisa que solo queda poco más de un mes!!
 
 
Redactor: Jose Antonio Gallego
Datos adjuntos:
Como crear una imagen en XPe para arrancar desde un USB
 
Gracias a las nuevas características incluidas en el Feature pack 2007 de Windows XPe ahora es posible configurar de un modo sencillo el arranque del sistema desde una unidad de almacenamiento USB.

En el documento adjunto se muestra como realizar esta tarea paso a paso.

INDICE
Iniciando el sistema operativo XPe desde un dispositivo USB
1. Iniciando el sistema operativo XPe desde un dispositivo USB
1.1. Requerimientos para el arranque desde un USB
1.2. Limitaciones del arranque USB
1.3. Iniciando XPe desde un USB
Paso1: Formatear el dispositivo USB
Paso 2: Crear el archivo .pmq
Paso 3: Importar el archivo .pmq al Target Designer
Paso 4: Agregar el componente para el arranque desde un USB
Paso 5: Construir una imagen arrancable desde USB y pasarla al dispositivo USB 10
2. Resolución de errores
2.1. Formatear de forma correcta el dispositivo de almacenamiento
2.2. Verificar la compatibilidad de la BIOS y la unidad de almacenamiento USB
2.3. Verificar los dispositivos de inicio.

[Ver documento] PDF 14 páginas 548 KB (561.152 bytes)
Redactor: Jose Antonio Gallego
Datos adjuntos: Datos adjuntos

 Trucos

Como asociar extensiones de archivo a nuestra aplicación
 
En Windows Mobile al igual que en Windows podemos asociar una extensión de archivo para que se ejecute una aplicación determinada. Podemos asociar los archivos con una extensión (por ejemplo .rxr) para que sean abiertos con una aplicación desarrollada por nosotros.
 
En Windows Mobile esto lo podemos hacer modificando el registro.
 

 
Las claves a generar se encuentran dentro de HKEY_CLASSES_ROOT.
 
Lo primero será crear una clave con el nombre de nuestra extensión (por ejemplo .rxr) en el valor por defecto especificamos la asociación (por ejemplo rxrfile).
 
Después crearemos una nueva clave en HKEY_CLASSES_ROOT con el nombre de la asociación (rxtfile), dentro de esta creemos la estructura HKEY_CLASSES_ROOT\rxrfile\Opend\Command y modificaremos el valor por defecto de Command por la ruta al ejecutable (en nuestro ejemplo nuestra propia aplicación) y lo haremos de modo que pueda recoger un parámetro (esto lo hacemos agregando %1), este parámetro se inicializara con la ruta del archivo que se esté ejecutando.
 
Si deseamos asociar el icono de nuestra aplicación a la extensión asociada podemos agregar la clave  HKEY_CLASSES_ROOT\rxrfile\DefaultIcon y establecer el valor con la ruta del ejecutable y agregar ,0 al final.
 
Aquí os dejo un ejemplo de como podemos hacer todo esto.
 
 

/// <summary>
/// Asociar una extensi¢n de archivo a una aplicación
/// </summary>
/// <param name="extension">Extensión a asociar</param>
/// <param name="aplicacion">Aplicación a ejecutar</param>
private void AsociarArchivo(string extension, string aplicacion)
{
  //Creamos la key en HKEY_CLASSES_ROOT
  RegistryKey key1declaracion = Registry.ClassesRoot.CreateSubKey("." + extension);

  key1declaracion.SetValue("Default", extension + "file");

  //Creamos las siguientes claves en
 
//HKEY_CLASSES_ROOT\xxxfile\Shell\Open\Command
RegistryKey key2asociacion = Registry.ClassesRoot.CreateSubKey(@"\" + extension + "file" + @"\Shell\Open\Command");

// Establecemos el valor por defecto a la ruta al ejecutable a asociar,
// %1 ser  el parametro con el que se iniciar  la aplicación y
// equivaldr  al path del archivo.
key2asociacion.SetValue("Default",@"""" + aplicacion + @""" ""%1""");

//Asociamos el icono de nuestro ejecutable a la extensi¢n asociada
RegistryKey key3Icono = Registry.ClassesRoot.CreateSubKey(@"\" + extension + "file" + @"\DefaultIcon");
key3Icono.SetValue("Default", @"""" + aplicacion + @"""" + "0");
}

Podéis encontrar una solución con el código fuente completo para Visual Studio 2008 (SDK WM5) en el siguiente enlace: Asociar extensiones en WM

Redactor: Jose Antonio Gallego
Fecha de creación: 22/04/2009 0:00

Enlazando el evento MenuItem.Click con Reflection

Las limitaciones a las que nos vemos sometidos habitualmente los desarrolladores de Compact Framework, sobre todo si trabajamos sobre código manejado, suelen resultar muchas veces frustrantes, frustantes en el sentido de que algo que podíamos hacer de una manera sencilla en cualquier aplicación de escritorio no funciona de igual modo en la plataforma móvil.

Una de esas cosas, que de paso utilizo para el ejemplo, es poder enlazar el evento Click de un elemento MenuItem del cual desconozco su método asociado (en este caso OnClick), desde una función en código.

Lo más sencillo sería, venga va, si tienes el código fuente pues no seas desastre y mira el método que tienes asociado al evento click del MenuItem y a correr... está claro que es lo más sencillo ¿no? Pero si estás desarrollando un control que requiere ejecutar lo que el desarrollador enlace al evento Click del MenuItem la cosa se complica. Resulta que el método OnClick del MenuItem en Compact Framework esta declarado internamente como "Protected Internal vitual" así que nos olvidamos de poder invocarlo... y tampoco podemos recuperar el EventHandle al que esta asociado el evento Click del MenuItem.

Código interno del metodo OnClick dentro del control MenuItem

protected internal virtual void OnClick(EventArgs e)
{
    if (this.
Click != null)
    {
        this.
Click(this, e);
    }
}

Pues utilizando un poquito de reflection, podemos asociar el evento a nuestro propio código utilizando tan solo unas líneas de código.

En el ejemplo estamos asociando que cuando se dispare nuestro metodo, al que hemos llamado quickMenuItem.click, se ejecute también el método OnClicK del MenuItem que pasemos por código y por consiguiente se dispare el EventHandle asociado al click del MenuItem

using System.Reflection;
(...)
//Creamos un EventHandler y lo instanciamos con la definición del evento Click del menuItem que deseemos
EventHandler click = (EventHandler)GetPrivateField(menuItemX, "Click");
quickMenuItem.Click += click;
(...)

//Recuperamos el campo privado a enlazar
private object GetCampoPrivado(object obj, string campo)
{

      //Prestar especial atención a los atributos
      FieldInfo fi = obj.GetType().GetField(campo, BindingFlags.NonPublic|BindingFlags.GetField|BindingFlags.Instance);
      return fi.GetValue(obj);
}

Esto es realmente sencillo, y nos muestra que muchas de las limitaciones con las que nos encontramos tienen una fácil solución.

NOTA: Una herramienta (comunmente concida) que realmente nos puede ayudar es la Red Gate's .NET Reflector a la hora de descubrir métodos eventos y propiedades privadas.

Redactor: Jose Antonio Gallego
Fecha de creación: 23/02/2009 14:35
Cómo eliminar las líneas de la pantalla Today
 
Es posible eliminar las líneas que separan todos los items de la pantalla Today simplemente añadiendo en HKEY_LOCAL_MACHINE\Software\Microsoft\Today una clave DWord de nombre "HidePluginSeparators" con valor 1.
 
Tras un soft reset, habrán desparecido los separadores, dejando un aspecto más uniforme y menos recargado en la pantalla.
 
Lo hemos probado en dispositivos con Windows Mobile 6.1 y hemos verificado que funciona, sin embargo no podemos decir lo mismo con dispositivos Windows Mobile 5, con emuladores Windows Mobile 6, ni con dispositivos con el interfaz touch flow 3D. Por tanto es posible que esta característica sólo esté disponible a partir de Windows Mobile 6.1.
 
 
 
Redactor: Marta Rodríguez Herrera
Fecha de creación: 27/01/2009 10:00
1 - 3 Siguiente
 
 

WebCast Grabados

 Lectura recomendada


SQL Server Compact 2008


 Trucos de desarrollo

Asociar extensiones de archivo a nuestra aplicaciónUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Enlazando el evento MenuItem.Click con ReflectionUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Cómo eliminar las líneas de la pantalla TodayUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como cargar una imagen guardada en SQL CEUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Enviando pulsaciones de teclado en Compact FrameworkUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como bloquear tu Windows Mobile con PIN LockUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como activar el Bluetooth en tu PDAUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como apagar la PDA por código en Windows MobileUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como insertar una imagen en una base de datos de SQL CEUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como obtener el IMSI de la tarjeta SIMUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como utilizar la camara desde codigo en Windows MobileUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Detectar cuando conectamos la PDA a la cunaUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Como personalizar las propiedades de Outlook MobileUtilizar Mayús+Entrar para abrir el menú (nueva ventana)
Envio de correo con T-SQLUtilizar Mayús+Entrar para abrir el menú (nueva ventana)

 Artículos desarrollo mobile

WebCasts Windows Mobile 6.5
Crear, enriquecer y publicar aplicaciones de Windows Mobile
Mas sobre SyncServices: SyncComm
Sincronización de bases de datos con ADO.net Sync Services en VS 2008
Centinela Bluetooth para Windows Mobile, jugando con RegistryState
Personalizando un control Listview
Implementando un Hard-Reset por código en Windows Mobile 6.x
Servicios en Windows Mobile bajo codigo manejado
Disponible el emulador de Internet Explorer 6 para Mobile en Visual Studio
Como utilizar el GPS con Compact Framework
Sony Ericcson lanza un nuevo SDK Create XPERIA™ X1 Panels para Windows Mobile® 6.1
Windows Mobile API Usage Tool
Aplicaciones en modo Kiosco para Windows Mobile
Barman MobileNUG Friki desarrollo en Compact Framework
Desarrollar sobre compact GDI. Buscaminas MNUG
Servicios en una PDA para tareas en background
SharpDevelop: IDE Open Source para CF
Skin personalizado para Smartphone HTC620 QVGA
Como crear un elemento en el menú TODAY de Windows Mobile
Desarrollar sobre OutlookMobile
Videos para dispositivos
Como activar el vibrador de una PDA
Desarrollo de soluciones de movilidad en WM5, WM6 con VS .NET
Novedades en Visual Studio 2008 y Compact Framework 3.5
Modificar colores en un bitmap sin utilizar GDI en CF
Crear un autorun para tarjetas SD

 Enlaces recomendados

  Novedades Compact Framework 3.5 (en-EN)
  Videos desarrollo sobre dispositivos (en-EN)
  Preparación examen 70-540 Desarrollo mobile 5.0
  Windows Mobile Developer Center
  Preparación examen 70-571 Desarrollo Windows Embedded CE 6.0
  MSDN Desarrollo para dispositivos VS2005 [es-ES]
  MSDN Desarrollo para dispositivos con VS2008 [es-ES]
  Introducción al desarrollo con Windows Mobile
  Windows Live Dev
  New site for mobile developers [en-US]

 Colaboradores


DesarrolloMobile.NET