27
CURSO DESARROLLO DE APLICACIONES CON WINDOWS PHONE 7

Windows Phone - Sesión 2 - SenaGeeks

  • Upload
    avanet

  • View
    763

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Windows Phone - Sesión 2 - SenaGeeks

CURSO

DESARROLLO DE APLICACIONES CON WINDOWS PHONE 7

Page 2: Windows Phone - Sesión 2 - SenaGeeks

COMUNIDAD AVANET(@AVANET)

Page 3: Windows Phone - Sesión 2 - SenaGeeks

INSTRUCTOR

SOREY GARCÍA(@SOREYGARCIA)

El material de apoyo usado fue aportado por el MVP Cesar Fong y es material del MIX 2011

Page 4: Windows Phone - Sesión 2 - SenaGeeks

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

Page 5: Windows Phone - Sesión 2 - SenaGeeks

TEMAS (Nivel 1)

SEMANA 2 (Nivelación)Introducción básica a C# con WP7 Introducción básica a Silverlight para WP7

Page 6: Windows Phone - Sesión 2 - SenaGeeks

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

Page 7: Windows Phone - Sesión 2 - SenaGeeks

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…

Page 8: Windows Phone - Sesión 2 - SenaGeeks

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

Page 9: Windows Phone - Sesión 2 - SenaGeeks

Secciones básicas

Page 10: Windows Phone - Sesión 2 - SenaGeeks

Secciones básicas

Page 11: Windows Phone - Sesión 2 - SenaGeeks

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

Page 12: Windows Phone - Sesión 2 - SenaGeeks

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

Page 13: Windows Phone - Sesión 2 - SenaGeeks

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

Page 14: Windows Phone - Sesión 2 - SenaGeeks
Page 15: Windows Phone - Sesión 2 - SenaGeeks

Splash Screen

480x800 pixels SplashScreenImage.jp

g

Page 16: Windows Phone - Sesión 2 - SenaGeeks

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.

Page 17: Windows Phone - Sesión 2 - SenaGeeks

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.

Page 18: Windows Phone - Sesión 2 - SenaGeeks

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

Page 19: Windows Phone - Sesión 2 - SenaGeeks

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

Page 20: Windows Phone - Sesión 2 - SenaGeeks

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

Page 21: Windows Phone - Sesión 2 - SenaGeeks

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 -

Page 22: Windows Phone - Sesión 2 - SenaGeeks

Estructura de un proyecto .NET Solución

Proyectos (Assemblies - Componentes)Namespaces (Agrupación lógica) Clases

Archivos de configuraciónRecursos adicionales

Page 23: Windows Phone - Sesión 2 - SenaGeeks

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

Page 24: Windows Phone - Sesión 2 - SenaGeeks

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;

Page 25: Windows Phone - Sesión 2 - SenaGeeks

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;

Page 26: Windows Phone - Sesión 2 - SenaGeeks

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

Page 27: Windows Phone - Sesión 2 - SenaGeeks

¿Adivinen que?

TAREA Planificar una aplicación y crearle un

diseño Montar la navegación básica

Recurso: www.thenounproject.com