Escolar Documentos
Profissional Documentos
Cultura Documentos
Agenda
Haz tus aplicaciones para Telfonos Windows
Seleccin de plataforma para el desarrollo mvil Tecnologas incluidas en movilidad Gestin previa al desarrollo en relacin a los requerimientos DEMO: Enva SMS y Correos electrnicos DEMO: Detecta conectividad DEMO: Integra GPS DEMO: Invoca a un Web Service DEMO: Haz tu agenda personal!
Convenciones de nomenclatura
S.O. Windows Mobile 5
Windows Mobile 5 SmartPhone Edition Windows Mobile 5 Pocket PC Edition Windows Mobile 5 Pocket PC Phone Edition
1.
2.
Seleccionar un dispositivo: Para asegurarse de que se nos avisa cuando se selecciona un dispositivo al desplegar nuestra solucin:
En Visual Studio en el men Herramientas clic en Opciones
Herramientas de dispositivo General. Si las herramientas de dispositivo no estn visibles, seleccionar Ver todas las opciones en la parte inferior del cuadro de dilogo de opciones. Seleccionar la casilla de verificacin de Mostrar las opciones de dispositivo antes de desplegar un proyecto de dispositivo. Para incluir el archivo de datos en el proyecto actual, en Archivo de base de datos local Si.
3.
Crear la aplicacin:
En Visual Studio Archivo clic en Nuevo Proyecto. En el cuadro de Nuevo proyecto en el panel de Tipos de proyecto expandir el nodo Visual Basic o Visual C#. Expandir el nodo Smart Device, seleccionar Windows Mobile 6.0 Pocket PC o Windows Mobile 6.0 Smartphone. En el panel plantillas seleccionar Aplicacin de dispositivo. En el cuadro de Nombre especificar un nombre para el proyecto. En el cuadro Localizacin especificar la ruta donde queremos almacenar el proyecto OK. Una representacin de un dispositivo PPC o Smartphone aparecer en el diseador de Windows Forms. En men Ver Explorador de Servidores.
4.
En el Visual Studio, hacer clic en Conectar al dispositivo. En el cuadro de dilogo de Conectar al dispositivo de la lista de Plataformas, seleccionar una plataforma de dispositivo, desde el cuadro de Dispositivos seleccionar un emulador y despus hacer clic en Conectar. En Visual Studio, hacer clic en Herramientas y despus hacer clic en Administrador de emuladores de dispositivos. En esa ventana, hacer clic con el botn derecho en el emulador que queramos iniciar y hacer clic en Conectar.
5.
Caractersticas del SDK de Windows Mobile 5.0 y 6.0 para Visual Studio
Caractersticas de la API incluidas en los SDKs de Windows Mobile 5.0 y 6.0:
Telefona: la clase Microsoft.WindowsMobile.Telephony.Phone permite programar aplicaciones que pueden iniciar una llamada telefnica. Pocket Outlook: modelo de objetos que ayuda a incorporar datos PIM (Personal Information Manager) dentro de las aplicaciones Windows Mobile 5.0. Proporciona: Soporte administrador tanto para correo como para SMS. Nueva API de mensajera para mostrar los correos electrnicos existentes, usar el sistema de mensajera SMS y formularios de correos para componer nuevos mensajes y controlar la cuenta activa actual en el sistema de mensajera. Sincronizacin de datos en un dispositivo que tenga acceso a un servidor con el IIS de Microsoft (Microsoft Internet Information Services). Configuration Manager: Se puede utilizar el nombre de espacio y ensamblado Microsoft.WindowsMobile.Configuration.ConfigurationManager para configurar un dispositivo. Este nombre de espacio usa XML para enviar la configuracin al dispositivo Windows Mobile 5.0 y 6.0. Esto simplifica la configuracin y el despliegue de proyectos Windows Mobile.
Se accede a ella desde Microsoft.WindowsMobile.Status. Notifica a las aplicaciones acerca de los eventos que estn ocurriendo en el dispositivo o en otras aplicaciones. Por ejemplo, una aplicacin que consume mucha energa puede ser notificada acerca de los cambios en el estado de la batera. Monitoriza y registra claves en el sistema. El archivo de cabecera (snapi.h) contiene definiciones para la clave del registro, ruta, valor y mscara de bits para todas las notificaciones base que son proporcionadas por el sistema. STATE AND NOTIFICATION BROKER API
Espacio de nombres
Microsoft.WindowsMobile.PocketOutlook
1. En Management Studio, abra el Explorador de objetos. 2. En el Explorador de objetos, haga click sobre Conectar y luego seleccione SQL Server Mobile. 3. En el cuadro de dilogo Conectar al servidor, elija la base de datos SQL Server Mobile que desee compactar y haga click en Conectar. 4. En el explorador de objetos, haga click con el botn derecho del ratn sobre la base de datos SQL Server Mobile recin agregada, y a continuacin haga click en Propiedades. 5. En el cuadro de dilogo Propiedades de la base de datos, seleccione Realizar compactacin de la base de datos completa (Perform full database compaction). 6. En Opciones de Archivo (File Options), seleccione la opcin apropiada dependiendo de si lo que se necesita es reemplazar la base de datos o crear una nueva base de datos con un archivo nuevo tras la compactacin. La casilla Sobreescribir el archivo de base de datos existente (Overwrite Existing Database File) modifica el nombre y localizacin de la base de datos existente y la reemplaza
Microsoft.WindowsMobile.PocketOutlook
EmailAcount: representa una cuenta Pocket Outlook e-mail. EmailMessage: representa un e-mail. SmsAccount: proporciona acceso a la cuenta SMS de Pocket Outlook, y a las
carpetas de la cuenta SMS .
SmsMessage: representa un mensaje SMS. Contact: representa un elemento de la coleccin Contact. ContactCollection: representa la coleccin de elementos Contact presentes en
una carpeta de contactos.
Microsoft.WindowsMobile.PocketOutlook
Appointment: representa un elemento Appointment en la coleccin de citas. Una cita es un bloque de tiempo que aparece en un calendario Pocket Outlook. Puede tener una fecha de inicio y fin, un lugar y se puede recurrir. Una cita se convierte en una reunin si se programa y se enva a otros contactos. AppointmentCollection: representa la coleccin de elementos cita en una carpeta de citas. AppointmentFolder: contiene la coleccin de citas. Task: representa un elemento tarea en la coleccin de tareas. Una tarea representa un elemento que se puede activar y que se prioriza, se delega o se completa. TaskCollection: representa la coleccin de elementos tarea en una carpeta de tareas. TaskFolder: contiene la coleccin de tareas.
Despus de crear el mensaje, se puede enviar el mensaje con el mtodo Send de la clase SmsMessage.
La clase ChooseContactDialog se puede utilizar para mostrar un Se puede especificar el ttulo del cuadro de dilogo utilizando la
propiedad contactDialog.Title.
cuadro de dilogo que pida al usuario que especifique los detalles de contacto para enviar un mensaje SMS.
smsMessage.Body = Boicoteamos la sesin de RIM y Nokia?"; smsMessage.To.Add(new Recipient(Marta Rod,6627727733")); smsMessage.RequestDeliveryReport = true; smsMessage.Send();
return;
Cuando se desarrolla una aplicacin basada en Windows Mobile, se puede integrar mensajera
mediante las clases del espacio de nombres Microsoft.WindowsMobile.PocketOutlook.EmailAccount.
La clase EmailAccount que proporciona una completa funcionalidad para los e-mails Se puede crear un e-mail mediante la clase EmailMessage Se puede enviar con el mtodo Send de la clase EmailAccount a una direccin de correo
especificada.
EmailMessage message = new EmailMessage(); message.To.Add(new Recipient(wm@micmovilidad.es")); message.Subject = Correo de soporte; message.BodyText = Una nueva pregunta ha sido generada por un estudiante + Por favor lee el adjunto para mas detalles"; message.Attachments.Add(new Attachment(@"\My Documents\issue.doc")); using (OutlookSession session = new OutlookSession()) { session.EmailAccounts[0].Send(message); }
21
Controlndolo todo
El agente de estado y notificaciones es un almacn de datos que proporciona un modelo publicador-suscriptor para distribuir notificaciones de cambio de datos. Esta API almacena la informacin del estado, monitoriza cambios en los valores de estado y genera notificaciones sobre el estado de los cambios. Se puede implementar este API en las aplicaciones utilizando las clases disponibles en el ensamblado Microsoft.WindowsMobile.Status El API usa el registro como almacn de datos para almacenar valores en la clave de registro HKEY_LOCAL_MACHINE\System\State mientras que la informacin de estado por usuario se almacena en la clave HKEY_CURRENT_USER\System\State.
Estado de la red del telfono. Se pueden utilizar propiedades del sistema para seguir el estado de disponibilidad de la red y la potencia de seal
Informacin de llamada. Las propiedades del sistema relacionadas con llamadas entrantes, salientes o actuales permiten realizar un seguimiento del estado de las llamadas
Informacin de red. Las propiedades del sistema permiten realizar un seguimiento de la de la red Wi-Fi.
Eventos del Gestor de informacin personal (PIM Personal Information Manager). Con las propiedades del sistema se puede seguir los cambios realizados en el calendario, contactos o tareas.
Batera. Se pueden utilizar las propiedades del sistema para realizar un seguimiento del estado de la batera as como de la potencia restante de la batera principal o de la batera de respaldo.
Mensajera. Las propiedades del sistema permiten seguir los mensajes desde los servicios non-Microsoft ActiveSync e-mail y SMS (Short Message Service).
1. Agregar una referencia al espacio de nombres: agregar una referencia al espacio de nombres
Microsoft.WindowsMobile.Status, este espacio de nombres proporciona clases como StateBase y SystemState que exponen el API del agente de estado y notificaciones.
3. Agregar una instancia de la clase SystemState: la clase SystemState para recuperar el valor
actual del estado. Se puede utilizar la clase SystemState para generar una notificacin cuando el estado cambia.
4. Agregar un gestor de evento: Con la clase SystemState y un mtodo para manejar el evento
SystemState.Changed. Este evento se lanza cuando cambia un estado del sistema.
5. Responder al cambio de estado: El mtodo SystemState.GetValue devuelve el valor de un estado del sistema.
SystemState gprsCoverage; private void funcion() { this.gprsCoverage = new SystemState (SystemProperty.PhoneGprsCoverage); gprsCoverage.Changed += new ChangeEventHandler(gprsCoverage_Changed); } void gprsCoverage_Changed(object sender, ChangeEventArgs args) { //Aadir la lgica aqu }
Las aplicaciones de recursos intensivos afectan a la potencia de la batera del dispositivo mvil Si se ejecutan varios procesos simultneamente o si se deja la pantalla del dispositivo activa durante un largo periodo de tiempo se consumir batera, reducindose el tiempo de standby del dispositivo
Por tanto se debe monitorizar constantemente el estado de la batera del dispositivo mvil y proporcionar informacin al usuario sobre su estado Las propiedades SystemState.PowerBatteryState y SystemState.PowerBatteryStrength determinan el estado de la batera.
La propiedad
SystemState.PowerBatteryState
Charging
La propiedad
SystemState.PowerBatteryStrength
La propiedad SystemState.PowerBatteryStrength recupera el nivel de batera restante en el dispositivo. Esta propiedad indica el nivel de batera a travs de los siguientes valores del enumerador BatteryLevel VeryHigh 81 - 100% High 61 - 80% Medium 41 - 60% Low 21 - 40% VeryLow 0 - 21%
32
3. 4.
Crear un proyecto de Aplicacin Windows para dispositivos mviles Copie el contenido de la carpeta C:\Archivos de programa\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS y pegue el contenido en la carpeta del proyecto de la aplicacin. Agregue el proyecto Microsoft.WindowsMobile.Samples.Location a la solucin. Agregue una referencia al proyecto Microsoft.WindowsMobile.Samples.Location a cualquiera de los proyectos que debe usar el contenedor administrado que proporciona este proyecto.
Ejemplo
Ejemplo
Ejemplo
40
Agregar contacto
El mtodo AddNew de la clase Contact se utiliza para aadir un contacto. El siguiente ejemplo muestra cmo agregar un contacto: public void AddContact(string firstName, string lastName, string title) { OutlookSession os = new OutlookSession(); Contact contact = os.Contacts.Items.AddNew(); contact.FirstName = firstName; contact.LastName = lastName; contact.Title = title; contact.FileAs = contact.LastName + ", " + contact.FirstName; contact.Update(); }
Agregar tarea
El mtodo AddNew de la clase Task permite adir una nueva tarea. El siguiente ejemplo muestra cmo agregar una nueva tarea.
public void AddTask(string body, string categories, bool complete, DateTime startDate) { OutlookSession os = new OutlookSession(); Task task = os.Tasks.Items.AddNew(); task.Body = body; task.Categories = categories; task.Complete = complete; task.StartDate = startDate; task.Update(); }
Agregar cita
Se puede agregar una cita con el mtodo AddNew de la clase Appointment. El cdigo siguiente muestra cmo aadir una cita: public void AddAppointment(string body, string categories, DateTime startdate) { OutlookSession os = new OutlookSession(); Appointment appointment = os.Appointments.Items.AddNew(); appointment.Body = body; appointment.Categories = categories; appointment.Start = startdate; appointment.Update(); }