SlideShare una empresa de Scribd logo
1 de 27
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…
          Application Runtime             Definición estricta de la
                                          arquitectura

Application      UI            Cloud      Modelo de aplicaciones bien
  Model         Model       Integration   definido y acotado

                 O.S.                     Evitar Fragmentación del
                                          sistema
                                          Simplificación del desarrollo
              HARDWARE
                                          de aplicaciones
Recordando…                                         BSP = Board Support Package

Applications                        Your App UI and logic

                                         Frameworks
                      Silverlight           XNA     HTML/JavaScript
                                            CLR
App Model                   UI Model               Cloud Integration
                                                   Xbox LIVE
App management              Shell frame            Bing
Licensing                   Session manager        Location
Chamber isolation           Direct3D               Push notifications
Software updates            Compositor             Windows Live ID

Kernel
Security                                                    Hardware BSP
Networking          A-GPS    Accelerometer    Compass Light    Proximity
Storage             Media    Wi-Fi            Radio   Graphics

                            Hardware Foundation
Windows Phone 7 Frameworks Details
                              Windows Phone Frameworks
                                                          Launchers &           Windows Phone
                        Camera     Device Integration
                                                           Choosers                Controls

PhoneApplicationFrame   PhoneApplicationPage        PushNotification     WebBrowserControl             Sensors


 Silverlight Presentation and Media                          XNA Frameworks for Games
Controls     Drawing     IsolatedStorage                             Drawing          GamerServices


 Shapes      Markup       Media        Navigation       Media        Input      Graphics      Audio      Content


                                        Application Object
                                 Common Base Class Library
Runtime     Resources   Globalization      Reflection     Location       Text        IO      Net      Diagnostics


Security    Threading    Collections       ComponentModel            Configuration        ServiceModel      Linq
Secciones básicas
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.
Splash Screen

 480x800 pixels
 SplashScreenImage.jpg
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ón
              Launch                                Closed
App()                                   PhoneApplicationService.Closi
App.InitializePhoneApplication()        ng
PhoneApplicationService.Launching       App.Application_Closing
App.Application_Launching
App.CompleteInitializePhoneApplicati
on


                              RUNNING



          Deactivated                              Reactivated
                                        App()
PhoneApplicationService.Deactivat
                                        App.InitializePhoneApplication()
ed
                                        PhoneApplicationService.Activate
App.Application_Deactivated
                                        d
                                        App.Application_Activated
Ciclo de Vida de la Aplicación (Mango)
                                              Fast App Resume
                                              Resuming .. .



Restore state!
State preserved!              running
IsAppInstancePreserved
IsAppInstancePreserved ==                              Save State!
== false
true



                  activated             deactivated
 Tombstone
 the oldest
 app


         Tombstoned           dormant
                                        Phone resources detached
                                        Threads & timers suspended
Desactivando la aplicación

                            MediaPlayer.Pause
                            MediaElement.Pause
                        SoundEffectInstance.Pause
                         VibrateController.Stop
                           PhotoCamera.Dispose
                             Save page/global state



                   XNA Audio      Paused
                   Sensors        Notifications suppressed
                   Networking     Cancelled
                   Sockets        Disconnected
                   MediaElement   Disconnected
                   Camera         Disposed
Activando la aplicación


                   MediaElement.Source/Position/Play
                   Socket.ConnectAsync
                   new PhotoCamera/VideoCamera

                   Restore app state if tombstoned



                   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ón
     Recursos 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;
Mapeo de rutas
     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>
¿Adivinen que?

 TAREA
  Planificar una aplicación y crearle un diseño
  Montar la navegación básica


  Recurso: www.thenounproject.com

Más contenido relacionado

La actualidad más candente

La actualidad más candente (8)

Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
Controles
ControlesControles
Controles
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
WPF
WPFWPF
WPF
 

Destacado

Microsoft windows
Microsoft windowsMicrosoft windows
Microsoft windowskevinsajes
 
System softwares by 09,39,27
System softwares by 09,39,27System softwares by 09,39,27
System softwares by 09,39,27Arsalan Qureshi
 
Android L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSAndroid L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSMohammad Shaker
 
Generalidades sobre Windows Phone
Generalidades sobre Windows PhoneGeneralidades sobre Windows Phone
Generalidades sobre Windows PhoneSorey García
 
Boya.ca - Introducción a Windows Phone
Boya.ca - Introducción a Windows PhoneBoya.ca - Introducción a Windows Phone
Boya.ca - Introducción a Windows PhoneSorey García
 
Linux, Windows y Otros Sitemas Operativos
Linux, Windows y Otros Sitemas OperativosLinux, Windows y Otros Sitemas Operativos
Linux, Windows y Otros Sitemas OperativosSheila Red
 
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]RootedCON
 
Microsoft windows
Microsoft windowsMicrosoft windows
Microsoft windowsjardintics
 
Introducción Curso iOS
Introducción Curso iOSIntroducción Curso iOS
Introducción Curso iOSbrainybogota
 
Historia Microsoft Windows
Historia Microsoft WindowsHistoria Microsoft Windows
Historia Microsoft WindowsEfren Rubio
 
SISTEMA OPERATIVO MAC-OS
SISTEMA OPERATIVO MAC-OSSISTEMA OPERATIVO MAC-OS
SISTEMA OPERATIVO MAC-OSYadira Banegas
 
Sistema operativo mac os x
Sistema operativo mac os xSistema operativo mac os x
Sistema operativo mac os xfernanda
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaKaren Nuñez
 
SISTEMA OPERATIVO IOS
SISTEMA OPERATIVO IOSSISTEMA OPERATIVO IOS
SISTEMA OPERATIVO IOSTenshiDam
 

Destacado (17)

Microsoft windows
Microsoft windowsMicrosoft windows
Microsoft windows
 
Symbian
SymbianSymbian
Symbian
 
System softwares by 09,39,27
System softwares by 09,39,27System softwares by 09,39,27
System softwares by 09,39,27
 
Android L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOSAndroid L09 - Windows Phone and iOS
Android L09 - Windows Phone and iOS
 
Exposición - BlackBerry OS
Exposición - BlackBerry OSExposición - BlackBerry OS
Exposición - BlackBerry OS
 
Generalidades sobre Windows Phone
Generalidades sobre Windows PhoneGeneralidades sobre Windows Phone
Generalidades sobre Windows Phone
 
Boya.ca - Introducción a Windows Phone
Boya.ca - Introducción a Windows PhoneBoya.ca - Introducción a Windows Phone
Boya.ca - Introducción a Windows Phone
 
Linux, Windows y Otros Sitemas Operativos
Linux, Windows y Otros Sitemas OperativosLinux, Windows y Otros Sitemas Operativos
Linux, Windows y Otros Sitemas Operativos
 
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]
Raul Siles - iOS: Regreso al futuro [Rooted CON 2014]
 
Microsoft windows
Microsoft windowsMicrosoft windows
Microsoft windows
 
Introducción Curso iOS
Introducción Curso iOSIntroducción Curso iOS
Introducción Curso iOS
 
Historia Microsoft Windows
Historia Microsoft WindowsHistoria Microsoft Windows
Historia Microsoft Windows
 
SISTEMA OPERATIVO MAC-OS
SISTEMA OPERATIVO MAC-OSSISTEMA OPERATIVO MAC-OS
SISTEMA OPERATIVO MAC-OS
 
Sistema operativo mac os x
Sistema operativo mac os xSistema operativo mac os x
Sistema operativo mac os x
 
Sistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historiaSistema Operativo Android; versiones, historia
Sistema Operativo Android; versiones, historia
 
SISTEMA OPERATIVO IOS
SISTEMA OPERATIVO IOSSISTEMA OPERATIVO IOS
SISTEMA OPERATIVO IOS
 
informática y convergencia tecnologica
informática y convergencia tecnologicainformática y convergencia tecnologica
informática y convergencia tecnologica
 

Similar a Windows Phone - Sesión 2 - SenaGeeks

Similar a Windows Phone - Sesión 2 - SenaGeeks (20)

Windows phone 7.5
Windows phone 7.5 Windows phone 7.5
Windows phone 7.5
 
Gregorio
GregorioGregorio
Gregorio
 
Gregorio
GregorioGregorio
Gregorio
 
Gregorio
GregorioGregorio
Gregorio
 
App inventor
App inventorApp inventor
App inventor
 
Presentación PhoneGap
Presentación PhoneGap Presentación PhoneGap
Presentación PhoneGap
 
Documento de arquitecturas
Documento de arquitecturasDocumento de arquitecturas
Documento de arquitecturas
 
Sesion 1 introducción a la plataforma windows phone
Sesion 1   introducción a la plataforma windows phoneSesion 1   introducción a la plataforma windows phone
Sesion 1 introducción a la plataforma windows phone
 
Material rap1
Material rap1Material rap1
Material rap1
 
Presentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.comPresentacion Apps Moviles Atrapalo.com
Presentacion Apps Moviles Atrapalo.com
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
 
Curso Desarrollo Android
Curso Desarrollo AndroidCurso Desarrollo Android
Curso Desarrollo Android
 
Instrucciones y estructuras
Instrucciones y estructurasInstrucciones y estructuras
Instrucciones y estructuras
 
Arquitectura de la plataforma de desarrollo de windows phone 7
Arquitectura de la plataforma de desarrollo de windows phone 7Arquitectura de la plataforma de desarrollo de windows phone 7
Arquitectura de la plataforma de desarrollo de windows phone 7
 
Java
JavaJava
Java
 
app
appapp
app
 
Curso Android Tema 2
Curso Android Tema 2Curso Android Tema 2
Curso Android Tema 2
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Android
 
Desarrollo rápido de aplicaciones
Desarrollo rápido de aplicacionesDesarrollo rápido de aplicaciones
Desarrollo rápido de aplicaciones
 
Introducción JEE
Introducción JEEIntroducción JEE
Introducción JEE
 

Más de Avanet

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresarialesAvanet
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netAvanet
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerAvanet
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponentsAvanet
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Avanet
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Avanet
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxAvanet
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureAvanet
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAASAvanet
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicosAvanet
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureAvanet
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Avanet
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoAvanet
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con DjangoAvanet
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptAvanet
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIAvanet
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosAvanet
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSAvanet
 
Responsive Design
Responsive DesignResponsive Design
Responsive DesignAvanet
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde ceroAvanet
 

Más de Avanet (20)

Azure en entornos empresariales
Azure en entornos empresarialesAzure en entornos empresariales
Azure en entornos empresariales
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
 
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process MakerFlujos de trabajo en servidores virtuales de Azure Implementando Process Maker
Flujos de trabajo en servidores virtuales de Azure Implementando Process Maker
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponents
 
Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2Novedades en Windows Server 2012 R2
Novedades en Windows Server 2012 R2
 
Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1Intro a HTML5 Apps con Windows 8.1
Intro a HTML5 Apps con Windows 8.1
 
Hardening De Servidores GNU/Linux
Hardening De Servidores GNU/LinuxHardening De Servidores GNU/Linux
Hardening De Servidores GNU/Linux
 
Desarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en AzureDesarrollo de aplicaciones Django con Python 2.0 en Azure
Desarrollo de aplicaciones Django con Python 2.0 en Azure
 
Microsoft Azure.- IAAS
Microsoft Azure.- IAASMicrosoft Azure.- IAAS
Microsoft Azure.- IAAS
 
Enseñar a programar a los más chicos
Enseñar a programar a los más chicosEnseñar a programar a los más chicos
Enseñar a programar a los más chicos
 
Desarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con AzureDesarrollo de aplicaciones PHP con Azure
Desarrollo de aplicaciones PHP con Azure
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5
 
Pair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu tecladoPair Programming - Discute con tu compañero, no con tu teclado
Pair Programming - Discute con tu compañero, no con tu teclado
 
Introducción a la Programación Web con Django
Introducción a la Programación Web con DjangoIntroducción a la Programación Web con Django
Introducción a la Programación Web con Django
 
Html5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScriptHtml5.- Desarrollo y Buenas Prácticas con JavaScript
Html5.- Desarrollo y Buenas Prácticas con JavaScript
 
Webmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UIWebmatrix.- Web Apps con Kendo UI
Webmatrix.- Web Apps con Kendo UI
 
Los errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatosLos errores más comunes de los programadores novatos
Los errores más comunes de los programadores novatos
 
Preprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSSPreprocesadores CSS con LessCSS
Preprocesadores CSS con LessCSS
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Ruby desde cero
Ruby desde ceroRuby desde cero
Ruby desde cero
 

Windows Phone - Sesión 2 - SenaGeeks

  • 1. CURSO DESARROLLO DE APLICACIONES CON WINDOWS PHONE 7
  • 2. COMUNIDAD AVANET (@AVANET)
  • 3. INSTRUCTOR SOREY GARCÍA (@SOREYGARCIA) El material de apoyo usado fue aportado por el MVP Cesar Fong y es material del MIX 2011
  • 4. 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
  • 5. TEMAS (Nivel 1) SEMANA 2 (Nivelación) Introducción básica a C# con WP7 Introducción básica a Silverlight para WP7
  • 6. Recordando… Application Runtime Definición estricta de la arquitectura Application UI Cloud Modelo de aplicaciones bien Model Model Integration definido y acotado O.S. Evitar Fragmentación del sistema Simplificación del desarrollo HARDWARE de aplicaciones
  • 7. Recordando… BSP = Board Support Package Applications Your App UI and logic Frameworks Silverlight XNA HTML/JavaScript CLR App Model UI Model Cloud Integration Xbox LIVE App management Shell frame Bing Licensing Session manager Location Chamber isolation Direct3D Push notifications Software updates Compositor Windows Live ID Kernel Security Hardware BSP Networking A-GPS Accelerometer Compass Light Proximity Storage Media Wi-Fi Radio Graphics Hardware Foundation
  • 8. Windows Phone 7 Frameworks Details Windows Phone Frameworks Launchers & Windows Phone Camera Device Integration Choosers Controls PhoneApplicationFrame PhoneApplicationPage PushNotification WebBrowserControl Sensors Silverlight Presentation and Media XNA Frameworks for Games Controls Drawing IsolatedStorage Drawing GamerServices Shapes Markup Media Navigation Media Input Graphics Audio Content Application Object Common Base Class Library Runtime Resources Globalization Reflection Location Text IO Net Diagnostics Security Threading Collections ComponentModel Configuration ServiceModel Linq
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 14.
  • 15. Splash Screen  480x800 pixels  SplashScreenImage.jpg
  • 16. 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.
  • 17. 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.
  • 18. Ciclo de Vida de la Aplicación Launch Closed App() PhoneApplicationService.Closi App.InitializePhoneApplication() ng PhoneApplicationService.Launching App.Application_Closing App.Application_Launching App.CompleteInitializePhoneApplicati on RUNNING Deactivated Reactivated App() PhoneApplicationService.Deactivat App.InitializePhoneApplication() ed PhoneApplicationService.Activate App.Application_Deactivated d App.Application_Activated
  • 19. Ciclo de Vida de la Aplicación (Mango) Fast App Resume Resuming .. . Restore state! State preserved! running IsAppInstancePreserved IsAppInstancePreserved == Save State! == false true activated deactivated Tombstone the oldest app Tombstoned dormant Phone resources detached Threads & timers suspended
  • 20. Desactivando la aplicación MediaPlayer.Pause MediaElement.Pause SoundEffectInstance.Pause VibrateController.Stop PhotoCamera.Dispose Save page/global state XNA Audio Paused Sensors Notifications suppressed Networking Cancelled Sockets Disconnected MediaElement Disconnected Camera Disposed
  • 21. Activando la aplicación MediaElement.Source/Position/Play Socket.ConnectAsync new PhotoCamera/VideoCamera Restore app state if tombstoned XNA Audio Resumed Sensors Notifications resumed Networking Completed with Cancellation Sockets - MediaElement - Camera -
  • 22. Estructura de un proyecto .NET  Solución  Proyectos (Assemblies - Componentes)  Namespaces (Agrupación lógica)  Clases  Archivos de configuración  Recursos adicionales
  • 23. 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
  • 24. 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;
  • 25. 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;
  • 26. Mapeo de rutas 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>
  • 27. ¿Adivinen que?  TAREA  Planificar una aplicación y crearle un diseño  Montar la navegación básica  Recurso: www.thenounproject.com

Notas del editor

  1. App.InitializePhoneApplication() crea un rootframe para la aplicaciónNo cargar datos de IsolatedStorage en App_LaunchingDeactivated tiene 10 segundos para llegar a este punto