CURSO
DESARROLLO DE APLICACIONES CON WINDOWS PHONE 7
COMUNIDAD AVANET(@AVANET)
INSTRUCTOR
SOREY GARCÍA(@SOREYGARCIA)
El material de apoyo usado fue aportado por el MVP Cesar Fong y es material del MIX 2011
INFORMACIÓN GENERAL (Nivel 1)
Nivel: 100
Público: Aplica solo para estudiantes del SENA e invitados de AVANET
Personas: 20 SENA – 10 AVANET Costo: Ninguno
Requisitos: SDK para Windows Phone 7 Mango. Si ya se tiene VS 2010 es necesario instalarle el Service Pack 1.
Meta: Lograr publicar aplicaciones en el Market Place
TEMAS (Nivel 1)
SEMANA 2 (Nivelación)Introducción básica a C# con WP7 Introducción básica a Silverlight para WP7
Recordando…
HARDWARE
O.S.
Application Model
UIModel
Cloud Integratio
n
Application Runtime Definición estricta de la arquitectura
Modelo de aplicaciones bien definido y acotado
Evitar Fragmentación del sistema
Simplificación del desarrollo de aplicaciones
KernelHardware BSP
App Model UI Model Cloud Integration
Applications
App managementLicensingChamber isolationSoftware updates
Shell frame Session managerDirect3DCompositor
Xbox LIVEBingLocationPush notificationsWindows Live ID
Your App UI and logic
A-GPS Accelerometer Compass Light ProximityMedia Wi-Fi Radio Graphics
SecurityNetworkingStorage
Frameworks
Silverlight XNAHTML/
JavaScriptCLR
Hardware Foundation
BSP = Board Support Package Recordando…
Windows Phone 7 Frameworks Details
Common Base Class Library
Collections ComponentModel Configuration
DiagnosticsReflection IO
Security Threading
Runtime Resources Globalization TextLocation Net
ServiceModel Linq
Application Object
Silverlight Presentation and Media
XNA Frameworks for Games
Windows Phone Frameworks
NavigationShapes Markup Media
Controls Drawing IsolatedStorage
AudioMedia GraphicsInput
Drawing GamerServices
Content
PhoneApplicationPage
PushNotification
WebBrowserControl
SensorsPhoneApplicationFra
me
CameraDevice
IntegrationLaunchers &
ChoosersWindows Phone
Controls
Secciones básicas
Secciones básicas
Frames
Un frame o marco se integra con el aspecto de Windows Phone y sentir de modo que aparezca como cualquier otra aplicación. Sólo un único fotograma está disponible para la aplicación sin excepciones. Un marco incluye las siguientes características:
Expone las propiedades de una página alojada como orientación de la pantalla
Expone un área de cliente donde se representan las páginas
Expone un NavigationService que facilita la navegación entre páginas
Se reserva espacio para la barra de estado y barra de aplicaciones
Páginas
Una página llena de la región de todo el contenido del marco.
Secciones básicas
La barra de estado La barra de estado del sistema a nivel de información sobre el
estado de una manera simple y limpia, reservada en el espacio de trabajo de la aplicación. El usuario puede interactuar con la barra de estado, ya que las actualizaciones para proporcionar diferentes notificaciones y mantener al usuario al tanto de las cosas que son importantes.
Una barra de estado incluye las siguientes características:
La visibilidad de la barra de estado puede ser cambiado por su aplicación.
La opacidad de la barra de estado se puede cambiar en su aplicación.
El color de la barra de estado se puede cambiar en su aplicación. El indicador de progreso en la barra de estado se puede utilizar en
su aplicación para mostrar el progreso.
Secciones básicas
La barra de aplicaciones
La barra de aplicaciones ofrece un lugar para promover las tareas más comunes. Para las tareas menos comunes, las aplicaciones pueden incluir un solo menú lanzado desde la barra de aplicaciones. Para más información, consulte la barra de aplicaciones para Windows Phone .
Una barra de aplicaciones incluye las siguientes características:
La visibilidad de la barra de aplicaciones se puede cambiar por su aplicación.
La opacidad de la barra de aplicaciones se puede cambiar en su aplicación.
El color de la barra de aplicaciones se puede cambiar en su aplicación.
Secciones básicas
Splash Screen
480x800 pixels SplashScreenImage.jp
g
Terminología
Estado de la aplicación (Application State) De datos que es utilizado por varias páginas en una aplicación. Un ejemplo son los
datos estructurados obtenidos a partir de un servicio web. Es posible que desee proporcionar vistas diferentes de estos datos en diferentes páginas, pero los datos pueden ser considerados como pertenecientes a la aplicación en su conjunto.
Estado de la página (Page State) El estado actual visual de una página sola aplicación. Si usted tiene una página que
contiene los controles para que el usuario los datos de entrada, y el usuario se desplaza fuera de su aplicación y luego vuelve a ella, el usuario espera que todos los controles en la forma tengan los mismos valores que cuando se fueron. Una aplicación que administra el estado de página a veces se establecen los valores de los controles en una página cuando se carga de manera que la experiencia del usuario de una aplicación persistente.
Eventos de la aplicaciones (Application Events) Hay cuatro eventos primarios utilizados para la gestión de las aplicaciones del
Estado: Lanzamiento , Desactivado , Activado y de cierre . Los controladores de estos eventos se incluyen en el objeto Application, que forma parte de las plantillas de proyecto de Visual Studio para las aplicaciones de Windows Phone. Usted tendrá que escribir código en estos controladores de eventos para gestionar su estado de aplicación.
Terminología
Eventos de Página (Page Events) El PhoneApplicationPage es eñ objeto de que todas las páginas de Windows Phone
yexpone dos métodos, OnNavigatedTo (NavigationEventArgs) y OnNavigatedFrom (NavigationEventArgs) los cuales sirven para administrar el estado de la página.
Tombstoning El proceso en el que una aplicación se termina, pero algunos datos sobre el
estado de la aplicación y las páginas individuales dentro de la aplicación se mantiene. Los datos que se guardan incluye la página de la aplicación que se muestra actualmente y la pila de nuevo de las páginas que habían visitado antes de la aplicación. Si el usuario navega a una aplicación desechados, la aplicación se vuelve a crear, y la página actual y el historial de la página se restauran automáticamente.
Diccionarios Estado (State Dictionaries) Cada aplicación Windows Phone y página de la aplicación proporciona un objeto
de diccionario en el que puede almacenar pares clave / valor. Estos diccionarios se conservan cuando una solicitud es desechada. Cuando una aplicación se activa después de ser desechados, estos diccionarios se utilizan para restaurar el estado de aplicación. Tenga en cuenta que todos los datos de estos diccionarios deben ser serializables.
Ciclo de Vida de la AplicaciónLaunch
App()App.InitializePhoneApplication()PhoneApplicationService.LaunchingApp.Application_LaunchingApp.CompleteInitializePhoneApplication
RUNNING
Closed
PhoneApplicationService.ClosingApp.Application_Closing
Deactivated
PhoneApplicationService.DeactivatedApp.Application_Deactivated
ReactivatedApp()App.InitializePhoneApplication()PhoneApplicationService.ActivatedApp.Application_Activated
Ciclo de Vida de la Aplicación (Mango)
running
deactivated
dormant
activated
Phone resources detachedThreads & timers suspended
Fast App Resume
Save State!State preserved!IsAppInstancePreserved == true
Restore state!IsAppInstancePreserved == false
Resuming .. .
Tombstone the oldest app
Tombstoned
Desactivando la aplicación
Deactivated App
PhoneApplicationPage.OnNavigatedFrom
PhoneApplicationService.Deactivated
Framework:Detach Resources
Framework:Suspend Timers and Threads
Dormant App
MediaPlayer.PauseMediaElement.Pause
SoundEffectInstance.PauseVibrateController.StopPhotoCamera.DisposeSave page/global state
XNA Audio Paused
Sensors Notifications suppressed
Networking Cancelled
Sockets Disconnected
MediaElement
Disconnected
Camera Disposed
Activando la aplicación
MediaElement.Source/Position/PlaySocket.ConnectAsyncnew PhotoCamera/VideoCamera
Restore app state if tombstoned
Running App
PhoneApplicationPage.OnNavigatedTo
PhoneApplicationService.Activated
Framework:Attach Resources
Framework:Resume Timers and Threads
Dormant App
XNA Audio Resumed
Sensors Notifications resumed
Networking Completed with Cancellation
Sockets -
MediaElement
-
Camera -
Estructura de un proyecto .NET Solución
Proyectos (Assemblies - Componentes)Namespaces (Agrupación lógica) Clases
Archivos de configuraciónRecursos adicionales
Ficheros de un proyecto App.xaml
Recursos comunes de la aplicación App.xml.cs
Namespace con el mismo nombre que la aplicación Clase parcial App, derivada de Applications
MainPage.xaml Definición parcial de MainPage Elementos del root
MainPage.xaml.cs Definición parcial de la clase derivada de
PhoneApplicationClass
Navegación en páginas y parámetros Abrir otra página
NavigationService.Navigate(new Uri("/persona.xaml", UriKind.Relative));
Volver atrás NavigationService.GoBack();
Montar cadena con parámetros String direccion = "/persona.xaml?nombre="
+ this.txtNombre.Text + "&apellido=" + this.txtApellido.Text;
Navegación en páginas y parámetros Obtención de parámetros
this.nombre.Text = NavigationContext.QueryString["nombre"];
this.apellido.Text = NavigationContext.QueryString["apellido"];
this.textBlock1.Text = "Usted ha pasado datos de " + this.apellido + "," + this.nombre;
ETRO<navcore:UriMapper x:Key="TheMapper">
<navcore:UriMapping Uri="Home" MappedUri="/Pages/Views/Default.xaml"/>
<navcore:UriMapping Uri="About-Us“ MappedUri="/Pages/Views/Misc/About.xaml"/>
</navcore:UriMapper>
Mapeo de rutas
¿Adivinen que?
TAREA Planificar una aplicación y crearle un
diseño Montar la navegación básica
Recurso: www.thenounproject.com