Manual 2011-II 06 Desarrollo de Aplicaciones Moviles II (0558)
-
Upload
juan-salazar-muguerza -
Category
Documents
-
view
40 -
download
4
Transcript of Manual 2011-II 06 Desarrollo de Aplicaciones Moviles II (0558)
-
Desarrollo de Aplicaciones Mviles II
-
2
CARRERAS PROFESIONALES CIBERTEC
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 3
CIBERTEC CARRERAS PROFESIONALES
NDICE
Pgina
Presentacin 5
Red de contenidos 7
Unidad de aprendizaje 1
CONSTRUYENDO UNA APLICACIN WINDOWS PHONE
1.1 Tema 1 : Introduccin a Windows Phone 11
1.1.1. : Plataforma del Windows Phone 11
1.1.2. : Ciclo de vida de una Aplicacin Windows Phone 15
1.1.3. : Requerimientos de Windows Phone 17
1.1.4. : Laboratorio 19
1.2 Tema 2 : Trabajando con SilverLight en Windows Phone 32
1.2.1. : Introduccin a Silverlight 32
1.2.2. : Controles en SilverLight 32
1.2.3. : Laboratorio 38
1.3 Tema 3 : Navegando entre pginas, manejo de estados 55
1.3.1. : Navegando entre pginas 55
1.3.2. : Manejo de estados 60
1.3.3. : Laboratorio 66
Unidad de aprendizaje 2
ACCESO A DATOS POR WINDOWS PHONE 7
2.1 Tema 3 : Almacenamiento de datos en WP7 77
2.1.1. : Almacenamiento Local: IsolatedStoraged 77
2.1.2. : Laboratorio 85
2.2 Tema 4 : Acceso a datos en Archivos XML 96
2.2.1. : Acerca de XML 96
2.2.2. : Manejo de datos en XML en aplicacin Phone 97
2.2.3. : Controles enlazados a los datos 102
2.2.4. : Laboratorio 103
2.2 Tema 5 : Windows Communication Foundation 121
2.3.1. : WCF, Arquitectura 121
2.3.2. : Caractersticas del WCF 125
2.3.3. : Windows Phone y WCF 127
2.3.4. : Laboratorio 132
-
4
CARRERAS PROFESIONALES CIBERTEC
Unidad de aprendizaje 3
DESARROLLANDO UNA APLICACIN XNA EN WINDOWS PHONE
3.1 Tema 6 : XNA 147
3.1.1. : XNA, caractersticas y requerimientos 147
3.1.2. : Plantilla del Proyecto 148
3.1.3. : Objetos Sprites 153
3.1.4. : Laboratorio 158
3.2 Tema 7 : Animacin en XNA 175
3.2.1. : Animacin: movimiento de imgenes, rotacin, tintes,
acelermetro
175
3.2.2. : Animacin por dispositivos de entrada 179
3.2.3. : Manejo de colisiones 182
3.2.4. : Laboratorio 183
3.3 Tema 8 : Creando un Game FrameWork 197
3.3.1. : Diseo de un Game FrameWork 197
3.3.2. : Clases de un Game FrameWork 198
3.3.3. : Laboratorio 206
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 5
CIBERTEC CARRERAS PROFESIONALES
PRESENTACIN
Desarrollo de Aplicaciones Moviles II pertenece a la lnea formativa y se dicta
en las carreras de tecnologas de la institucin. El curso brinda un conjunto de
herramientas de programacin para trabajar con una aplicacin mvil que
permita al alumno desarrollar aplicaciones para el manejo de datos y consulta de
datos remotas, as como el desarrollo de juegos para una aplicacin mvil en
forma eficiente.
El manual para el curso ha sido diseado bajo la modalidad de unidades de
aprendizaje, las que se desarrollan durante semanas determinadas. En cada una
de ellas, hallar los logros, que debe alcanzar al final de la unidad; el tema
tratado, el cual ser ampliamente desarrollado; y los contenidos, que debe
desarrollar, es decir, los subtemas. Por ltimo, encontrar las actividades y
trabajos prcticos que deber desarrollar en cada sesin, que le permitirn
reforzar lo aprendido en la clase.
El curso es eminentemente prctico: consiste en programacin C# implementado
en una aplicacin Windows Phone. La primera parte del manual nos ensea a
implementar las herramientas de SilverLight en una aplicacin Windows Phone
para el manejo de datos locales y remotos. En primer lugar, se inicia con el
reconocimiento de las caractersticas de SilverLight. Contina con el manejo de
las herramientas de SilverLight. Luego, vamos a realizar operaciones para el
manejo de datos locales y consulta de datos remotos utilizando Windows
Communication Foundation. La segunda parte del curso es la implementacin de
juegos utilizando XNA. En primer lugar, reconoceremos los objetos que trabajan
en una aplicacin de juegos; luego implementamos una aplicacin de juegos con
animacin. Se concluye con la realizacin de una aplicacin de juegos con
animacin con los formatos efectuados en el curso.
-
6
CARRERAS PROFESIONALES CIBERTEC
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 7
CIBERTEC CARRERAS PROFESIONALES
RED DE CONTENIDOS
Desarrollo de Aplicaciones Mviles II
Construyendo una
aplicacin Windows
Phone
Introduccion
WP7
Controles
SilverLight
Acceso a datos por Windows
Phone
Datos
locales
Datos remoto y
WCF
Desarrollando
aplicaciones XNA en
Windows
Phone
Objetos
Sprites Animacin
-
8
CARRERAS PROFESIONALES CIBERTEC
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 9
CIBERTEC CARRERAS PROFESIONALES
CONSTRUYENDO UNA APLICACIN WINDOWS PHONE
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al trmino de la unidad, el alumno desarrolla procesos de diseo en una aplicacin Windows Phone utilizando los controles estndares de la aplicacin SilverLight, navegando entre las pginas, definiendo la textura y diseo del layout de una pgina.
TEMARIO
Unidad de aprendizaje 1: Construyendo una Aplicacin Windows Phone 1.1 Tema 1 : Introduccin a Windows Phone
1.1.1. : Plataforma del Windows Phone 1.1.2. : Ciclo de vida de una Aplicacin Windows Phone 1.1.3. : Requerimientos de Windows Phone
1.2 Tema 2 : Trabajando con SilverLight en Windows Phone 1.2.1. : Introduccin a Silverlight 1.2.2. : Controles en SilverLight 1.2.3. : Laboratorio
1.3 Tema 3 : Navegando entre pginas, manejo de estados 1.3.1. : Navegando entre pginas 1.3.2. : Manejo de estados 1.3.3. : Laboratorio
ACTIVIDADES PROPUESTAS
Los alumnos implementarn una aplicacin Mobile para el manejo de imgenes, videos y archivos de audio.
Los alumnos aprendern a navegar entre pginas, enviando datos entre ellas.
UNIDAD DE
APRENDIZAJE
1
-
10
CARRERAS PROFESIONALES CIBERTEC
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 1 1
CIBERTEC CARRERAS PROFESIONALES
1.1 INTRODUCCION A WINDOWS PHONE
Microsoft Windows Phone es un gran consumidor de aplicaciones mviles, porque
tiene todas las caractersticas a las que los usuarios se han acostumbrado con el
iPhone de Apple y los telfonos inteligentes que utilizan tecnologa Android, tales
como el Motorola Droid y HTC.
Estas caractersticas incluyen multi-touch. Una interfaz que implementa un nuevo
diseo moderno llamado METRO, los servicios de redes sociales como Facebook, y
soporta cuentas de correo electrnico tales como Yahoo, Hotmail, Google y AOL.
Incluso, si usted es un usuario corporativo, brinda soporte para Microsoft Exchange.
Excepcionalmente, el telfono cuenta con una versin de Microsoft Office que puede
utilizar para leer, editar, guardar y sincronizar los archivos de Word, hojas de clculo
Excel y otros formatos de Office, por lo que es un gran sistema operativo para el
telfono de aquellos que utilizan Office en casa o en la oficina. Windows Phone
tambin se puede integrar con Xbox Live, lo que lo convierte en una gran opcin para
los jugadores.
Microsoft Windows Phone utiliza el software de Zune para sincronizar las
aplicaciones instaladas, imgenes, msica, las copias de seguridad y actualizaciones
flash del sistema operativo.
Microsoft tambin introduce el concepto de CENTRO: un centro de personas donde
los usuarios puede almacenar todos sus contactos y conexiones de redes sociales. Un
centro musical donde los consumidores pueden escuchar, descargar y comprar
msica. Este centro tambin es conocido como el MARKET PLACE.
Una de las ventajas de Windows Phone es que Microsoft impone las especificaciones
de hardware en el fabricante del telfono, lo que le facilita al programador desarrollar
una aplicacin sin tener que preocuparse de las especificaciones de los cdigos
dispositivos especficos. Para cualquier versin futura del telfono, se garantiza que la
aplicacin que se escribi hoy funcionar maana independientemente de la marca del
telfono.
-
12
CARRERAS PROFESIONALES CIBERTEC
Para Windows Phone, el lenguaje elegido es C#. Los desarrolladores de Visual Basic
(VB) tendrn que esperar. En cuanto a un marco de desarrollo de aplicaciones, tiene
dos opciones: Silverlight o XNA. Silverlight y XNA utilizan la misma plataforma:
Framework .NET.
1.1.1 PLATAFORMA DEL WINDOWS PHONE
Microsoft no invent nuevos lenguajes de programacin o Frameworks para la
plataforma de aplicaciones de Windows Phone. Simplemente ha adaptado los
Framework existentes. Esto significa que ser capaz de programar utilizando C# con el
Framework .NET.
.NET Framework proporciona una base comn de biblioteca de clases que todos los
programadores .NET conocen, incluyendo soporte para multithreading, XML, LINQ,
colecciones, eventos, datos, excepciones, IO, modelo de servicio, manejo de redes,
manejo de texto, reflexin, internacionalizacin, recursos, manejo de hilos o threads, y
seguridad.
La plataforma Windows Phone aplicacin consta de dos grandes marcos:
Silverlight
XNA
El uso de Silverlight se har principalmente para el desarrollo de aplicaciones de
negocios y juegos sencillos en 2D. Silverlight utiliza el XAML: Extensible Application
Markup Language, que es un lenguaje de marcas declarativo, para crear una interfaz
de usuario atractiva. Los diseadores tienen una gran flexibilidad en la creacin de
interfaces de usuario para Windows Phone usando herramientas conocidas como
Adobe Illustrator, Photoshop y Microsoft Expression Design pues pueden crear la
interfaz de usuario basndose en vectores para luego exportarlas a XAML.
Por otro lado, XNA se utiliza principalmente para la creacin de juegos ya que viene
con motores especializados que permiten crear tanto juegos basados en bucles como
en 3D.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 1 3
CIBERTEC CARRERAS PROFESIONALES
1.1.1.1 SILVERLIGHT EN WINDOWS PHONE
Silverlight utiliza la tecnologa web que permite ver el contenido de las aplicaciones de
Internet as como la tecnologa Flash.
Desde de una aplicacin de Silverlight no se puede acceder a cualquier sistema
operativo a menos que sea a travs de las funciones API proporcionadas
especficamente. La arquitectura de Silverlight lo provee de una seguridad inteligente
que lo hace muy adecuado para ser utilizado en Windows Phone, ya que Windows
Phone slo proporciona las funciones API para desarrolladores y limita el acceso al
sistema operativo nativo.
Tambin se utiliza Silverlight XAML, para crear grficos basados en vectores y crear
animaciones. Cualquier diseador familiarizado con las aplicaciones basadas en
vectores, como Adobe Illustrator y Microsoft Expression Design, puede crear
fcilmente elementos muy visuales exportarlos a XAML. Esto significa que los
diseadores tienen un control total sobre el diseo y la apariencia, lo que hace a
Silverlight una opcin muy potente para crear aplicaciones orientadas al consumidor.
XAML tambin proporciona una funcin de enlace de datos de gran alcance, por lo
que es ideal para crear aplicaciones orientadas a empresas.
1.1.1.2 XNA EN WINDOWS PHONE
XNA no es una tecnologa nueva. Se utiliza en la creacin de juegos para la consola
XBOX utilizando cdigo administrado. Trabajar con XNA para juegos es una eleccin
natural, ya que Windows Phone tiene XBOX LIVE integrado.
Los juegos de XBOX son fcilmente instalados en una aplicacin Windows Phone. Lo
nico en lo que los desarrolladores de juegos de XBOX tienen que preocuparse es en
la resolucin de pantalla, la misma que se puede ajustar fcilmente. En tal sentido,
XNA proporciona un marco perfecto para el desarrollo de juegos en formato 2D y 3D.
Asimismo, tiene la capacidad de administrar de manera solvente los objetos del juego
tales como modelos, mallas, sprites, texturas, efectos, terrenos y animaciones.
-
14
CARRERAS PROFESIONALES CIBERTEC
1.1.1.3 WINDOWS PHONE EMULATOR
El emulador del Windows Phone se integra a Visual Studio .NET y se asemeja
bastante a un dispositivo verdadero. Sin embargo, hay cosas que no se puede hacer
en el emulador, como probar del acelermetro, el GPS, el uso del comps, la radio
FM, los SMS, el correo electrnico, las llamadas de telfono, la lista de contactos, la
cmara, y otras caractersticas que requieren un dispositivo fsico.
Sin embargo, existe una tcnica denominada Extensiones Reactivas, donde el
emulador es capaz de utilizar los recursos del dispositivo para simular la fuente de
datos que puede esperar en un telfono real. Por ejemplo, con extensiones reactivas,
puede simular el acelermetro y las lecturas del GPS para que el emulador pueda
trabajar sin la necesidad del dispositivo.
1.1.1.4 DISEO METRO
Microsoft dirige Windows Phone hacia los profesionales y para ello proporciona una
interfaz de usuario adecuada. En ese sentido, Microsoft desarroll un estilo de diseo
denominado METRO. Este estilo de diseo deriva de la industria del transporte, pues
se basa en los carteles informativos de los aeropuertos y, sobre todo, de las
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 1 5
CIBERTEC CARRERAS PROFESIONALES
estaciones de tren. Comprende una tipografa y organizacin grfica que facilita el
acceso a los recursos del dispositivo as como la simpleza y claridad de la informacin.
Diseo Metro sigue estos principios:
Preocupacin por limpieza, la luz y la tipografa, ya que los consumidores van a utilizar
el mvil durante sus desplazamientos para leer el correo electrnico, los SMS, revisar
su Facebook y publicaciones en Twitter.
Perfecta integracin de hardware y software.
Soporte a gestos para permitir una experiencia de usuario multitctil de clase mundial.
Centrado en la informacin de modo que la misma sea fcilmente accesible para el
usuario.
Puede encontrar ms informacin sobre el diseo Metro en la siguiente direccin
electrnica: http://go.microsoft.com/fwlink/?LinkID=183218.
1.1.2 CICLO DE VIDA DE UNA APLICACIN WINDOWS PHONE
La siguiente figura ilustra un alto nivel de observacin del ciclo de vida de una
aplicacin.
Developer
Registration
Download SDK
Guidelines
Content
Publish Windows
Phone
Application
AppHub
http://developer.windowsphone.com
Manage Account
Manage
Application
Cetification
Signing Submission
Reports Analytics
Application Storefront
Deploy Update Reject
Consumer Rating
Comments
Windows Phone Marketplace
Purc
hase
Insta
l
Unin
sta
ll
Fee
dback
Application Category
-
16
CARRERAS PROFESIONALES CIBERTEC
Como desarrollador, usted comenzar en el Hub de Aplicaciones con el registro de su
Windows Live ID (puede crearlo si usted no tiene uno). Una vez registrado en el Hub
de Aplicaciones, puede registrar su dispositivo fsico. Recuerde que puede agregar
hasta tres dispositivos. El entorno de desarrollo ser Visual Studio y/o Expression
Blend, tanto para la construccin como para la depuracin, junto con el emulador o el
dispositivo que se registr. Una vez que la aplicacin es creada, es necesario
presentar la solicitud para la certificacin de la aplicacin.
A fin de garantizar que su solicitud pasar el proceso de certificacin, sera
conveniente que lea y entienda el documento de certificacin de aplicaciones que se
encuentran en la siguiente direccin electrnica:
http://msdn.microsoft.com/en-us/library/hh184843(v=VS.92).aspx.
Como parte del proceso de certificacin, su aplicacin pasa a travs de una serie de
validaciones sobre la aplicacin misma y las polticas de contenido, tales como:
cdigo, idioma del telfono y requisitos de las imgenes. Tambin se hacen pruebas
de fiabilidad, rendimiento, gestin de recursos, uso de la funcionalidad de telfono y la
seguridad. La certificacin de la aplicacin es importante pues ayuda a promover las
aplicaciones de calidad, proteger a los consumidores de malwares y proteger los
servicios de Microsoft.
Una vez que la aplicacin pasa el proceso de certificacin, ser desplegada en el
MARKET PLACE, de all el usuario consumidor podr descargarla y utilizarla.
El usuario de la aplicacin deber proporcionar evaluaciones y comentarios sobre su
apreciacin de la aplicacin. Los informes pueden ser generados por usted desde el
Hub de Aplicaciones. Basndose en la informacin que recibe, puede optar por
desplegar una actualizacin que comprenda las correcciones de los errores de la
aplicacin y/o nuevas caractersticas. El objetivo final es crear una aplicacin
adecuada para que los consumidores la descarguen y utilicen.
La participacin en el Marketplace tiene un costo determinado por Microsoft. Dicho
pago otorga una serie de derechos de publicacin. Finalmente, a partir de la venta de
sus aplicaciones, usted recibir el dinero correspondiente a las ganancias respectivas
a travs de un depsito en banco bajo ciertas condiciones especficas de Microsoft.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 1 7
CIBERTEC CARRERAS PROFESIONALES
1.1.3 REQUERIMIENTOS DE WINDOWS PHONE
1.1.3.1 PANTALLA
Para empezar, todos los dispositivos Windows Phone tendrn una pantalla con un
ancho VGA (WVGA) y resolucin de 480 pxeles de ancho por 800 pxeles de alto, lo
que simplificar la tarea de asegurar que los juegos y aplicaciones se ajusten
correctamente en la pantalla sin tener que estirar, encoger o dejar grandes reas de la
pantalla sin utilizar.
1.1.3.2 BOTONES
Este es uno de los detalles en los que Microsoft ha sido muy estricto en los
dispositivos que ejecutan el sistema operativo. Todos los dispositivos deben tener
exactamente tres botones en el frontal del dispositivo: un botn de retroceso, un botn
de Windows y un botn de bsqueda. Tener la certeza de la disponibilidad de estos
botones es particularmente bueno para los desarrolladores, ya que significa que no
tiene que preocuparse por un montn de combinaciones de mecanismos de control.
Sin embargo, al mismo tiempo, esta resulta una limitacin pues significa que no habr
control de direccin disponible, lo cual es muy til en algunas aplicaciones o juegos.
En su lugar, podemos utilizar la pantalla tctil para la entrada de datos o comandos.
Existen muchas maneras ingeniosas y creativas en las que esto se puede hacer,
desde el diseo de juegos en los que el usuario interacta al tocar objetos en la
pantalla, hasta la presentacin de botones de movimiento en la parte inferior de la
pantalla.
1.1.3.3 PROCESADOR
La especificacin de la plataforma Windows afirma que todos los dispositivos deben
estar equipados con, al menos, un procesador de 1GHz. Esto se traduce en un
rendimiento excelente en todos los dispositivos. Es de esperar que la velocidad del
procesador aumente a medida que evoluciona la plataforma, lo que ser importante
para soportar a los dispositivos que ejecutan a velocidades ms rpidas, pero, como
mnimo, significa que una cantidad significativa de potencia de procesamiento estar
disponible en todos los dispositivos.
1.1.3.4 HARDWARE GRAFICO
La API de grficos para juegos de alto rendimiento es XNA, una biblioteca de gran
alcance basada en la tecnologa DirectX que ha sido la base de los juegos de PC de
escritorio de la ltima dcada. La implementacin de Windows Phone no es tan
-
18
CARRERAS PROFESIONALES CIBERTEC
poderosa como la del escritorio, pero an as tiene capacidades muy impresionantes
para un dispositivo mvil. Junto a la API est la aceleracin de hardware de grficos
que el telfono tiene que manejar para dar soporte a movimientos rpidos y escenas
complejas en 2D y 3D.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 1 9
CIBERTEC CARRERAS PROFESIONALES
LABORATORIO 1.1
Creacin de un Proyecto Windows Phone
Implementa una aplicacin Windows Phone donde al ejecutarse nos muestre un
Saludo
1. Inicio del Proyecto
Para iniciar un proyecto Windows Phone:
Seleccione la opcin Create New Project.
Desde el IDE New Project, seleccione la plantilla (Template) Visual C#, el cual
listara un conjunto de proyectos
Seleccione la aplicacin Windows Phone Applicatioin, tal como se muestra.
Asigne un nombre al proyecto, luego presione el botn OK para grabar el
proyecto
Seleccione la opcin New Project para crear un nuevo proyecto
-
20
CARRERAS PROFESIONALES CIBERTEC
2. Estructura del Proyecto Windows Phone
Creada la nueva solucin en forma predeterminada, Visual Studio muestra el archivo
MainPage.xaml en el editor. La pantalla por defecto para Archivos XAML es una vista
dividida, donde se exhibe el panel de marcado XAML (texto XML) y el otro presenta
una vista de diseo que muestra la interfaz de usuario generada como se describe en
el XAML.
Seleccione la plantilla Windows Phone en Visual C#
Asigne nombre al proyecto
GUI del Windows Phone
Estructura del Main formato XML
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 2 1
CIBERTEC CARRERAS PROFESIONALES
Observe el archivo MainPage.xaml y ver que incluye algunos objetos predefinidos
como las Grillas y bloques de texto. A continuacin, detallamos la estructura del
archivo Main.
Donde:
1. Es el contenedor XAML objeto, es del tipo PhoneApplicationPage, que a su vez es
parte de la librera o NameSpace Microsoft.Phone.Controls.
2. El NameSpace o librera Microsoft.Phone.Controls es mapeado a la librera
PhoneNavigation XAML. Esta librera tambin se declara en el archivo App.xaml.
Microsoft.Phone.Controls es clave para las aplicaciones Windows Phone en general
y aplicaciones Silverlight en particular.
3. Las aplicaciones Silverlight para Windows Phone, por defecto, generan un objeto
Grid o cuadricula, denominado LayoutRoot (con la x: sintaxis de la propiedad
nombre). El Grid es, quiz, el elemento de diseo ms verstil que Silverlight
ofrece y, probablemente, el que va a utilizar ms a menudo. Le permite ordenar sus
objetos en varias filas y columnas.
4. El LayoutRoot define dos filas con el Grid.RowDefinition propiedades. Fijamos la
primera fila al tamao de Auto, que automticamente cambia la altura de la primera
fila (fila define la altura, mientras que la columna define la anchura). A continuacin,
establecemos el segundo fila que bsicamente le dice al motor de diseo, todo el
resto de la espacio disponible ser utilizada por la segunda fila.
1
2
3
4
5
6
-
22
CARRERAS PROFESIONALES CIBERTEC
5. Esta cuadricula (TitleGrid) tiene dos objetos TextBlock que muestran el nombre de
la aplicacin y de la pgina. Tenga en cuenta que la TitleGrid se est asignando a
la primera fila con Grid.Row = "0". El objeto TextBlock slo muestra la cadena que
se asigna a su propiedad Text.
6. Aqu es donde se colocar el contenido de su aplicacin. El XAML predeterminado
que genera SilverLight para Windows Phone, es slo un punto de partida. Usted
puede modificarlo, actualizarlo o reemplazarlo por completo.
3. Agregando controles al Page
Toda aplicacin Windows utiliza una barra de herramientas para agregar controles a la
Pgina (Page). Agregue los controles al Page, tal como se muestra en la figura.
A continuacin, trabajamos con las propiedades del control TextBox:
Arrastre los controles dentro de la Grilla
Declarativas de los controles en XAML
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 2 3
CIBERTEC CARRERAS PROFESIONALES
Luego, asigne las propiedades al control Button, tal como se muestra:
Propiedad Text: Mensaje
Propiedad Name: txtMensaje
Propiedad Content: Ok
Propiedad Name: btnHello
-
24
CARRERAS PROFESIONALES CIBERTEC
Para programar el control Button del Page, nos ubicaremos en la ventana de
propiedades (presione la tecla F4) y seleccionamos el botn Eventos.
A continuacin, programe el evento Clic del botn de la consulta, tal como se muestra
Seleccione la pestaa Events del control btnHello
Para programar el evento Click, seleccione el evento y hacer doble Click.
En el evento Click del button, programe la siguiente sintaxis: toda sintaxis debe terminar en punto y coma
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 2 5
CIBERTEC CARRERAS PROFESIONALES
Antes de ejecutar el proceso debemos cambiar el estado de la ejecucin a tipo
Emulator
Para ejecutar el emulador del proyecto, presione la tecla F5. Presione el botn OK, el
cual le dar la bienvenida.
Antes de ejecutar, seleccione el Target del Projecto a tipo Emulator
-
26
CARRERAS PROFESIONALES CIBERTEC
Diseando la Pgina
Cuando implementamos una aplicacin y deseamos brindar ciertas caractersticas al
Layout: color de fondo, color de letra, mrgenes, etc. Estas ediciones se realizan en
Microsoft Expression.
Al cargar por primera vez el software,
seleccione desde la ventana Customer
Experience, la opcin I dont want to
join luego presione la opcin OK.
Cerrar esta ventana presionando el botn
Close.
Para disear una o ms pginas de un proyecto, seleccione desde el Menu Inicio, Microsoft Expression Blend 4, tal como se muestra.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 2 7
CIBERTEC CARRERAS PROFESIONALES
Para trabajar con Microsoft Expression, debemos
abrir el proyecto que estamos trabajando, tal como
se muestra, seleccione la opcin Open
Project/Solution.
Selecciona el proyecto, el cual
tiene la extensin .sln. A
continuacin presione el botn
Abrir.
1. Seleccione desde objetos: LayoutRoot
2. Seleccione la opcin Brush: Background
3. Editar el color, tal como se muestra
Seleccione el archivo appPhone.sln
-
28
CARRERAS PROFESIONALES CIBERTEC
Diseando el control TxtMensaje.
1. Seleccione desde objetos: txtMensaje
2. Seleccione la opcin Brush: BorderBrush
3. Editar el color, tal como se muestra
1. Seleccione la opcin Brush: BackGround
2. Editar el color, tal como se muestra
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 2 9
CIBERTEC CARRERAS PROFESIONALES
Para guardar el proyecto, seleccione desde la opcin
de Menu File, la opcin Save All, tal como se muestra.
Al activar la pantalla del
proyecto, debe actualizar el
archivo editado, donde se
visualiza el siguiente
mensaje: seleccione la
opcin Yes to All.
Archivo editado actualizado en el proyecto Windows Phone.
-
30
CARRERAS PROFESIONALES CIBERTEC
Cambio de Orientacin de la pantalla
Al ejecutar el proyecto, el emulador levanta la aplicacin, si cambia de orientacin,
debera cambiar el sentido de la pantalla, para ello qu debo hacer?
En el constructor de la Pgina MainPage(), defina el comportamiento de la pgina
cuando esta realice la rotacin a travs de la siguiente sentencia de programacin:
Cambio de orientacin de la pantalla
Sentencia para controlar la rotacin de la pgina
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 3 1
CIBERTEC CARRERAS PROFESIONALES
Resumen
Microsoft Windows Phone es un gran consumidor de telfono, porque tiene todas
las caractersticas a las que los usuarios se han acostumbrado con los
smartphones.
.NET proporciona es una base comn de biblioteca de clases que todos los
programadores .NET conocen, incluyendo soporte para multithreading, XML, LINQ,
colecciones, eventos, datos, excepciones, IO, modelo de servicio,
la creacin de redes, el texto, la ubicacin, la reflexin, la globalizacin, recursos,
tiempo de ejecucin, la seguridad y el diagnstico.
Silverlight utiliza la tecnologa web y se usa bsicamente para aplicaciones
emprsariales y juegos sencillos en 2D.
XNA se utiliza en la creacin de juegos de Xbox, utilizando cdigo administrado.
Windows Phone integra Xbox LIVE.
El emulador del Windows Phone se integra a Visual Studio que simula un
verdadero dispositivo. Sin embargo, hay cosas que no se pueden hacer en el
emulador, como prueba el acelermetro, el GPS, comps, radio FM, SMS, correo
electrnico, llamadas de telfono, lista de contactos, la cmara y otras
caractersticas que requieren un dispositivo fsico.
Si desea saber ms acerca de estos temas, puede consultar las siguientes
pginas:
http://www.lavilladigital.com
Aqu hallar un tutorial de aplicaciones de Windows Phone.
http://libreyextremo.blogspot.com
En esta pgina, hallar algunos ejercicios sobre aplicaciones en Windows
Phone.
-
32
CARRERAS PROFESIONALES CIBERTEC
1.2 TRABAJANDO CON SILVERLIGHT N WINDOWS PHONE
1.2.1 INTRODUCCION A SILVERLIGHT
En MIX 2010, Microsoft anunci que la plataforma de desarrollo para Windows
PHONE 7 se basa en XNA y Silverlight. Windows Phone est basado en Silverlight 3.
Sin embargo, hay algunas optimizaciones en el telfono, as como nuevos controles.
En este captulo, usted aprender acerca de estas optimizaciones.
1.2.2 CONTROLES EN SILVERLIGHT
Windows Phone incluye la mayora de los controles bsicos de Silverlight 3. La
compatibilidad con Desktop es muy alta, pero la mayora de los controles de
Windows Phone tienen pequeas optimizaciones o retoques. Antes de llegar a los
cambios detallados en cada control, debemos entender los motivos y objetivos de
estos cambios:
A. Windows Phone no tiene el concepto del Mouse. El Mouse es un concepto en el
escritorio (y, como tal, en la plataforma Silverlight). Para maximizar la
compatibilidad entre ambas plataformas, Windows Phone escucha los eventos
Touch y traduce estos eventos.
B. Windows Phone es capaz de Multitouch. Algunos controles de Windows Phone
incluyen soporte de gestos individuales y multitouch, los cuales incluyen tocar,
rozar y una pizca de zoom (multitoque).
C. Windows Phone es compatible con temas y tiene un nuevo aspecto y estilo.
Todos los controles principales de Windows Phone han sido optimizados para
apoyar la apariencia del diseo METRO.
A continuacin, se detallan los controles principales en Windows Phone:
Controles SilverLight 3 Optimizacion en Windows Phone
Button Temas. Gestor de toque Click
CheckBox Temas. Gestor de toque Click
ContentControl
HyperlinkButton Temas
Configurado para iniciar el navegador en el dispositivo.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 3 3
CIBERTEC CARRERAS PROFESIONALES
Image JPGs son decodificados en el hardware, PNG es
decodificado
ListBox Toque, gestor Flick. Desplazamiento del pixeles basado
en los puntos fijos de los tems
MediaElement Hardware de reproduccin con el dispositivo Media Stack
MultiScaleImage Hardware de procesamiento acelerado
Password Soporta SIP. Retraso visual del carcter escrito antes de
convertirse en carcter contrasea
ProgressBar Temas
RadioButton Gestor Tap antes del Click, Temas
ScrollViewer Barras de desplazamiento no son recurribles, son
indicadores de posicin.
Slider Gestor Tap. Temas
TextBox Soporte SIP
Soporte para Entrada
TextBlock Temas
1.2.2.1 Nuevos Controles en Windows Phone
Windows Phone extiende el ncleo de Silverlight con un conjunto de controles
optimizados para la forma del telfono, para el soporte del modelo de navegacin de
Windows Phone y controles que admiten la apariencia Metro.
A. Control WebBrowser
Las aplicaciones Windows Phone estn alojados fuera del explorador en un proceso
de host llamado taskhost.exe. Este proceso de alojamiento es similar a la salida del
explorador modelo disponible en Silverlight 4. Tanto en Windows Phone y Silverlight 4,
cuando se encuentre fuera de navegador que puede albergar y interactuar con el
contenido HTML y Javascript con el control WebBrowser.
El WebBrowser permite cargar el contenido en tres maneras diferentes:
La propiedad Source apunta un URI donde el HTML que es donde el control
descarga el HTML que ser reproducido.
El mtodo Navegate () permite desplazarse a cualquier Uri.
-
34
CARRERAS PROFESIONALES CIBERTEC
NavigateToString () le permite cargar una cadena de formato HTML directamente en
el control. Dado que el cdigo HTML se pasa como una cadena, puede ser el
contenido dinmico, que proviene de la Internet, pero es ledo como un Stream, o
puede ser un archivo local, ya sea en el almacenamiento aislado o su aplicacin.
Para controlar la navegacin, el control expone los eventos Navigating y Navigated:
El evento Navigating se desencadena antes que la navegacin suceda, donde se
puede asignar la propiedad Cancel en el NavigationEventArgs pasado en el evento
para evitar que el usuario de navegacin de distancia.
El evento Navigated se activa cuando el nuevo objetivo de Uri se abre y se descarga.
B. PhoneApplicationFrame
Dentro de una aplicacin, la navegacin desde un Page a otro Page es implementada
por la clase PhoneApplicationFrame y la clase NavegationService.
Usando PhoneApplicationFrame no se puede ejecutar el mtodo GoForward(); la
propiedad CanGoForward siempre ser falsa.
CacheSize es siempre 0; dicho ajuste produce una excepcin.
No hay integracin con las aplicaciones Windows Phone que se encuentran fuera
del navegador.
Las plantillas para el control son diferentes. En particular, las plantillas de
Windows Phone fijan los mrgenes para el cromo del telfono - el cromo es un
rea reservada para la bandeja del sistema y la barra de aplicaciones-. Usted
debe respetar estas reas si desea reemplazar la plantilla.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 3 5
CIBERTEC CARRERAS PROFESIONALES
C. PhoneApplicationPage
PhoneApplicationPage tiene la funcionalidad de navegacin para ir junto con Marco,
pero tambin incluye tres otras caractersticas crticas para cualquier aplicacin
Windows Phone: Orientacin, De mens (a travs de la ApplicationBar) e integracin
de tareas (Selectores y Lanzadores).
Por navegacin, PhoneApplicationPage tiene mtodos virtuales para NavigatedTo,
NavigatingFrom y NavigatingTo.
PhoneApplicationPage tiene una referencia hacia NavigationService que el Frame
utiliza y el NavigationContext pasado hacia la pgina. El NavigationContext contiene
una cadena de consulta que es utilizada en el URI de la pgina.
Ejemplo.- Uso NavigationContext para leer un QueryString pasado al
PhoneApplicationPage.
D. Orientation
Tambin desencadenado de manera similar como Navigation, va mtodo virtual,
puedes sobrescribirse:
OrientationChanging() se dispara antes de los cambios de orientacin y puede
cancelar el cambio
OrientationChanged() permite conocer que la orientacin ha sido cambiada.
Una PhoneApplicationPage puede controlar la orientacin asignndolo en la propiedad
SupportedOrientations. Una pgina puede elegir ser Portrait o Landscape or
PortraitOrLandscape. Por defecto es Portrait.
private void OnNextClick(object sender, RoutedEventArgs e){
NavigationService.Navigate(new
Uri("/LWP.Navigation;component/GenericPortraitPage.xaml?step=" + NextStep,
UriKind.Relative));
}
void GenericPortraitPage_Loaded(object sender, RoutedEventArgs e){
// Acceso a QueryString desde propiedad NavigationContext en Page
if (this.NavigationContext != null &&
this.NavigationContext.QueryString != null){
var step=this.NavigationContext.QueryString["step"] as string;
}
}
-
36
CARRERAS PROFESIONALES CIBERTEC
E. ApplicationBar
El ApplicationBar es una barra de men para la aplicacin. La meta para el
ApplicationBar es proporcionar un men o barra de herramientas que proporciona fcil
acceso a las tareas comunes en la aplicacin. Cada PhoneApplicationPage puede
tener su propia ApplicationBar, aunque se recomienda que no cambie demasiado las
opciones en cada pgina. Tambin puede ocultar o mostrar la barra de men. Un
ApplicationBar puede contener un botn de una hilera (instancias de
ApplicationBarIconButton) o cualquier nmero de tems de men (los casos de
ApplicationBarMenuItem). El lmite para el nmero de botones en la ApplicationBar es
de cuatro. No hay lmite en el nmero de elementos de men, pero cinco es el lmite
recomendado para evitar el desplazamiento.
F. Date and Time Pickers
Los controles Date and Time Picker son utilizados para seleccionar fecha y horas del
telfono. Estos controles son optimizados para touch; se puede usar un simple touch o
roleando en cualquier campo de la pantalla.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 3 7
CIBERTEC CARRERAS PROFESIONALES
G. Choosers y Launchers
Choosers y Launchers son diferentes tipos de componentes. Son anlogamente los
cuadros de dilogos en Windows o SilverLight, Chooser y Launchers. Son utilizados
para comunicar dentro de una aplicacin SilverLight al Shell o a otras aplicaciones
Choosers permite al usuario seleccionar un elemento de un conjunto de elementos. Un
Chooser devuelve algunos contenidos o datos en el retorno. Un ejemplo de un
Chooser es el PhotoChooserTask, que se utiliza para seleccionar una foto de la
biblioteca de fotos del dispositivo. Cuando el API se invoca, el usuario elige una foto y
la informacin sobre ella es regresada de nuevo a la aplicacin de llamada.
Launchers son diferentes de los Choosers, porque no devuelven datos. Ellos ms bien
desencadenan la accin. Un ejemplo de un Launcher es la API utilizada para colocar
una llamada telefnica. En este caso, el desarrollador invoca el API y el usuario
vuelve, de nuevo, a la aplicacin de llamada una vez que la llamada ha terminado.
Las tareas estn bajo el nameSpace o librera Microsoft.Phone.Tasks, donde se
pueden encontrar los siguientes selectores:
CameraCaptureTask
EmailAddressChooserTask
PhoneNumberChooserTask
PhotoChooserTask
SaveEmailAddressTask
SavePhoneNumberTask.
En los launchers, encontraremos un MarketplaceLauncher, y MediaPlayerLauncher.
-
38
CARRERAS PROFESIONALES CIBERTEC
LABORATORIO 2.1
Creacin de un Proyecto Windows Phone
Implementa una aplicacin Windows Phone para navegar por la Web
1. Inicio del Proyecto
Para iniciar un proyecto Windows Phone:
Seleccione la opcin Create New Project.
Desde el IDE New Project, seleccione la plantilla (Template) Visual C#, el cual
listara un conjunto de proyectos
Seleccione la aplicacin Windows Phone Applicatioin, tal como se muestra.
Asigne un nombre al proyecto, luego presione el botn OK para grabar el proyecto
2. Diseo
Seleccione la plantilla Windows Phone en Visual C#
Asigne nombre al proyecto
Seleccione la opcin New Project para crear un nuevo proyecto
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 3 9
CIBERTEC CARRERAS PROFESIONALES
A continuacin vamos a disear el Page que permitir realizar el proceso de
navegacin
3. Programacin
En este proceso, codificamos el proceso de la navegacin, el cual se realiza sin la
debida validacin, la idea es Cmo validamos el proceso?
Programando con validacin, donde evaluamos varios aspectos del proceso:
textBox, Name=txtDireccion
button, Name= Button1
WebBrowser, Name= webBrowser1
-
40
CARRERAS PROFESIONALES CIBERTEC
Si la URL est vaca.
Si la URL contiene about.
Si la URL no inicia con http://
Si est correcto, entonces procedemos a Navegar
Presiona F5, para ejecutar la aplicacin.
Si la cadena est vaca o es about:blank
Si la cadena no inicia con http:// o https://, lo agrega
Ejecutar el proceso de navegar, si no existe, ejecuta la excepcin
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 4 1
CIBERTEC CARRERAS PROFESIONALES
LABORATORIO 2.2
Creacin de un Reproductor de Sonido
Implementa una aplicacin Windows Phone para reproducir un archivo de formato
MP3, es decir, archivo de msica.
1. Diseo del Formulario
2. Programacin
En el evento Loaded del Page, definimos el origen del control MediaElement, tal como
se muestra:
Control MediaElement, name: mediaElement1
Control Button, name: btnStop
Control Slider, name: slider1
Control Button, name: btnPlay
Definir el Source del control con la ubicacin del archivo mp3
-
42
CARRERAS PROFESIONALES CIBERTEC
A continuacin, programa el botn Stop y Play para ejecutar el control Media Element,
tal como se muestra.
Para controlar el avance del reproductor del Media, programa el evento
ValueChanged del control slider1, el cual medir el tiempo transcurrido del
reproductor.
Presione F5 para ejecutar la aplicacin.
Al presionar el botn Play, iniciar el mtodo Play del control MediaElement1
Al presionar el botn Stop, detiene el proceso del control MediaElement1
Programa el evento ValueChanged del control slider1 para aumentar o disminuir el volumen del mediaElement1
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 4 3
CIBERTEC CARRERAS PROFESIONALES
LABORATORIO 2.3
Creacin de una Calculadora
Implementa una aplicacin Windows Phone para crear una calculadora e implementar
sus operaciones bsicas: suma, resta, producto y divisin.
1. Inicio del Proyecto
Seleccione la opcin Create New Project
Desde el IDE New Project, seleccione la plantilla (Template) Visual C#.
Seleccione la aplicacin Windows Phone Applicatioin, tal como se muestra.
Asigne un nombre al proyecto, luego presione el botn OK.
2. Diseo
A continuacin, vamos a disear el Page que permitir crear la calculadora.
Seleccione el tipo de Page
Asigne el nombre a la Pgina, presione el botn Add
Control Image
-
44
CARRERAS PROFESIONALES CIBERTEC
Agregue un control IMAGE para insertar una imagen.
Para seleccionar una imagen, en el control Image, configure la propiedad Source, seleccione la
imagen a visualizar, tal como se muestra.
Para cambiar el formato al TextBlock, en otros proyectos lo conocemos como Label:
Color de letra: ForeGround. Tamao, tipo y estilo de letra: Text.
Propiedad Source del control Image
ForeGround permite dar color de letra
Propiedad Text, asigna el tamao y tipo de letra
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 4 5
CIBERTEC CARRERAS PROFESIONALES
Como siguiente paso, diseamos la pgina para realizar el proceso de la calculadora,
tal como se muestra.
3. Programacin
Declare e inicialice las variables
del proceso a nivel Class
PageCalculator.
-
46
CARRERAS PROFESIONALES CIBERTEC
Defina la funcin Calcula, donde definimos tres parmetros, los cuales realizan el
clculo aritmtico segn el signo.
Definir los eventos: numero_Click y el evento signo_Click.
El primer evento trabaja con los button numrico y el segundo evento trabaja con los
button signo (+, - *).
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 4 7
CIBERTEC CARRERAS PROFESIONALES
Para enlazar los eventos a cada button, seleccione el control Button, tal como se
muestra. En la ventana de propiedades, seleccione la pestaa Event; en el evento
Click seleccione el evento que va a desencadenar: para el button 1, el evento Click a
seleccionar seria numero_Click, tal como se muestra
El mismo proceso para los button signo, en este caso debe seleccionar en el evento
Click: signo_Click, tal como se muestra
-
48
CARRERAS PROFESIONALES CIBERTEC
En el button = programe el
evento respectivo, hacer doble
click al evento Click.
Presione la tecla F5 para ejecutar.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 4 9
CIBERTEC CARRERAS PROFESIONALES
LABORATORIO 2.4
Creacin de una Barra de Aplicaciones
Implemente una aplicacin Windows Phone para crear una barra de aplicaciones en
nuestra Pgina Principal.
1. Inicio del Proyecto
Seleccione la opcin Create New Project
Desde el IDE New Project, seleccione la plantilla (Template) Visual C#.
Seleccione la aplicacin Windows Phone Applicatioin, tal como se muestra.
Asigne un nombre al proyecto, luego presione el botn OK.
2. Diseo
Antes de iniciar el proceso, agregue algunos archivos
de imgenes de extensin .png: calculador.png,
internet.png, reproductor.png.
Seleccione el tipo de Page
Asigne el nombre a la Pgina, presione el botn Add
-
50
CARRERAS PROFESIONALES CIBERTEC
Agregue un control Image a la pgina, tal como se muestra. En la ventana de
propiedades del control, asigne en la propiedad Source el archivo Cibertec.jpg, tal
como se muestra.
3. Programacin
Defina el nameSpace Microsoft.Phone.Shell, asi como el objeto ApplicationBar
llamado Bar, tal como se muestra.
Propiedad Source del control Image
NameSpace Microsoft.Phone.Shell
Definir a Bar de tipo ApplicationBar
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 5 1
CIBERTEC CARRERAS PROFESIONALES
En el constructor, definiremos las propiedades del Bar (ApplicationBar), adems
agregamos tres button, definiendo la propiedad image, as como la propiedad text, tal
como se muestra:
Ejecute el proyecto, al cargar la pgina Principal, se visualiza
la lista de botones de la barra de aplicaciones.
Instanciar el objeto Bar y asignarle algunas propiedades
Agregar los buttons b1, b2 y b3 a Bar
Asignar al Application bar del Page el objeto Bar
Definir 3 buttons de tipo ApplicationBar
-
52
CARRERAS PROFESIONALES CIBERTEC
Definiendo el mtodo a los botones llamado botn_Click
Para enlazar el evento de cada botn, este proceso se realiza en el constructor.
Presione F5 para ejecutar y verifique que cada botn muestre su mensaje.
El mtodo botn_Click, ejecuta el proceso de los botones de la barra de aplicaciones
Enlazar el evento de cada botn al mtodo botn_Click tal como se muestra
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 5 3
CIBERTEC CARRERAS PROFESIONALES
Resumen
Windows Phone incluye la mayora de los controles bsicos de Silverlight 3. La
compatibilidad con DeskTop es muy alto, pero la mayora de los controles de
Windows Phone tienen pequeas optimizaciones o retoques.
Windows Phone es capaz de Multitouch. Algunos controles de Windows Phone
incluyen soporte a gestos individuales y multitouch. El soporte para nicos y
multitouch gestos, en la plataforma, incluye tocar, rozar y una pizca de zoom
(multitoque).
Windows Phone extiende el ncleo de Silverlight con un conjunto de controles
optimizados para el factor de forma del Phone, nuevos controles que soportan el
Modelo de Navegacion de Windows Phone y controles que admiten la apariencia
Metro.
El WebBrowser permite cargar el contenido, a travs de la propiedad Source,
utilizando el mtodo Navegate () permite desplazarse a cualquier Uri y la propiedad
NavigateToString () le permite cargar una cadena de formato HTML directamente
en el control.
Dentro de la una aplicacin, la navegacin desde un Page a otro Page son
implementadas por la clase PhoneApplicationFrame y la clase NavegationService
El emulador del Windows Phone se integra a Visual Studio que simula un
PhoneApplicationPage tiene la funcionalidad de navegacin para ir junto con
Marco, pero tambin incluye tres otras caractersticas crticas para cualquier
aplicacin Windows Phone: Orientacin, De mens (a travs de la ApplicationBar),
e integracin de tareas (Selectores y Lanzadores). Por navegacin,
PhoneApplicationPage tiene mtodos virtuales para NavigatedTo, NavigatingFrom
y NavigatingTo.
El ApplicationBar es una barra de men para tu aplicacin. La meta para el
ApplicationBar es proporcionar una respuesta coherente, de fcil acceso, men o
barra de herramientas que proporcione fcil acceso a las tareas comunes en la
aplicacin. Cada PhoneApplicationPage puede tener su propia ApplicationBar.
Los controles Date and Time picker son utilizados para seleccionar fecha y horas
donde del Phone. Estos controles son optimizados para touch
Choosers y Launchers son diferentes tipos de componentes; ellos son
anlogamente los cuadros de dilogos en Windows o SilverLight, Chooser y
-
54
CARRERAS PROFESIONALES CIBERTEC
Launchers. Son utilizados para comunicar dentro de una aplicacin SilverLight al
Shell o a otras aplicaciones
Si desea saber ms acerca de estos temas, puede consultar las siguientes
pginas:
http://www.lavilladigital.com
Aqu hallar un tutorial de aplicaciones de Windows Phone.
http://libreyextremo.blogspot.com
En esta pgina, hallar ejercicios sobre aplicaciones en Windows Phone.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 5 5
CIBERTEC CARRERAS PROFESIONALES
1.3 NAVEGACION ENTRE PGINAS, MANEJO DE ESTADOS
1.3.1 NAVEGANDO ENTRE PGINAS
En este captulo, vamos a hablar acerca de cmo navegar entre pginas en Silverlight
para Windows Phone. Hay dos razones por las que sta es una leccin importante.
Primero, porque no se debe crear toda la aplicacin en un nico archivo XAML.
Segundo, porque al seguir las reglas la aplicacin podr automticamente tomar
ventaja del botn de retroceso (Back) incorporado en el dispositivo. Esto permitir a
los usuarios volver desde la aplicacin a lo que estaban haciendo anteriormente. Hay
varias formas de navegar entre pginas, pero vamos a enfocarnos en una a la que
vamos a llamar Navegacin Simple de Web. Navegaremos entre pginas de igual
manera como si fuesen pginas de HTML.
1.3.1.1 Navegando utilizando control Hyperlink
Tenemos varias pginas y queremos darle al usuario una forma de moverse entre
ellas. Construyamos una interface grfica simple de navegacin que nos permita hacer
eso. Si queremos ir de la primera a la segunda, podemos hacer uso de un control
HyperlinkButton. Este control permite realizar la navegacin entre dos pginas.
Para establecer el vnculo entre pginas a travs del control HyperlinkButton, se puede
hacer usando slo XAML:
-
56
CARRERAS PROFESIONALES CIBERTEC
Al ejecutar el proyecto, debe ser posible hacer clic en cualquiera de estos botones de
vnculos e ir a la pgina. Al usar el botn de retroceso () podrn ir a la pantalla
previa. Si se retrocede lo suficiente, se sale de la aplicacin al pasar ms all de su
primera pantalla.
1.3.1.2 Navegando utilizando comandos de navegacin
Se puede navegar entre pginas utilizando cdigo en vez de usar slo XAML, pueden
usar cualquier elemento XAML que prefieran. En este ejemplo, vamos a crear tres
botones y cada uno apunta al mismo controlador de eventos. En el cdigo C#
siguiente, vern que se averigua cul botn ha sido pulsado y luego se va a la pgina
apropiada. La funcin original del botn de retroceso todava est disponible en su
totalidad.
En XAML
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 5 7
CIBERTEC CARRERAS PROFESIONALES
En C#
private void Botn_Click(object sender, RoutedEventArgs e){
Button botnPulsado = sender as Button;
switch (botnPulsado.Name) {
case "BotnPasta":
NavigationService.Navigate(new Uri("/Pasta.xaml",
UriKind.Relative));
break;
case "BotnQueso":
NavigationService.Navigate(new
Uri("/Cheese.xaml",UriKind.Relative));
break;
case "BotnSalsa":
NavigationService.Navigate(new Uri("/Sauce.xaml",
UriKind.Relative));
break;
}
}
Como se puede ver, todas las acciones del usuario son registradas, permitindole
retroceder por el camino tomado con tan slo usar el NavigationService
1.3.1.3 Clase NavigationService
Las pginas necesitan a menudo integrarse con la navegacin de su host para
proporcionar compatibilidad de navegacin en las pginas. Sin embargo, como es
posible que una pgina no sepa cul ser su host en tiempo de ejecucin, no puede
integrarse directamente con los miembros de navegacin de su host.
En su lugar, puede intentar utilizar un servicio de navegacin, que es un servicio que
admite navegacin basada en el explorador y est encapsulado por la clase
NavigationService. No obstante, no puede crear su propia instancia de
NavigationService.
El servicio de navegacin, que se devuelve de la propiedad NavigationService, es la
instancia de la clase NavigationService la cual est administrada por el primer
navegador en el rbol visual. Si no se encuentra ninguna, se devuelve null, lo que
indica que el host de una pgina no admite la navegacin.
-
58
CARRERAS PROFESIONALES CIBERTEC
Se puede navegar al contenido mediante una instancia de un objeto y llamando a una
sobrecarga del mtodo Navigate que acepte un objeto:
NavigationService.Navigate(Object)
NavigationService.Navigate(Object, Object)
Cuando se navega al contenido mediante el URI, NavigationService devolver un
objeto que incluye el contenido. Se puede realizar el seguimiento de la duracin de
una navegacin a travs de los eventos siguientes:
Navigating
Navigated
NavigationProgress
NavigationFailed
NavigationStopped
LoadCompleted
FragmentNavigation.
No todos los eventos se provocan cada vez que se produce una navegacin; el tipo de
navegacin que se produce (contenido o fragmento del contenido) determina el
conjunto de eventos que se provocan y el modo en el que se completa la navegacin
(cancelada, detenida o con errores).
La figura siguiente muestra la secuencia en la que se provocan estos eventos:
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 5 9
CIBERTEC CARRERAS PROFESIONALES
De forma predeterminada, NavigationService no almacena ninguna instancia de un
objeto de contenido en el historial de navegacin. En su lugar, NavigationService crea
una nueva instancia del objeto de contenido cada vez que se navega en l mediante el
historial de navegacin. Este comportamiento est diseado para evitar un consumo
de memoria excesivo cuando se navegue a muchas partes del contenido y a grandes
partes del mismo. Por consiguiente, el estado del contenido no se recuerda de una
navegacin a la siguiente.
A. Mtodos del NavigationService.
A continuacin listaremos algunos de los mtodos de navegacin:
Mtodo Descripcin
GoBack Navega hasta la entrada ms reciente del historial de
retroceso de navegacin, si lo hay.
GoForward Navegue hasta la entrada ms reciente del historial de
avance de navegacin, si lo hay.
Navigate(Uri) Navegue asincrnicamente a un contenido especificado por
un uniform resource identifier (URI).
Navigate(Uri,
Object, Boolean)
Navegue asincrnicamente al contenido de origen situado
en un uniform resource identifier (URI), pase un objeto que
contenga el estado de navegacin de procesamiento
durante la navegacin e incluya el contenido en el recinto.
RemoveBackEntry Quita la entrada ms reciente del diario del historial de
retroceso de navegacin.
B. 1.3.2 Propiedades del NavigationService.
A continuacin, listaremos las propiedades de navegacin:
Mtodo Descripcin
CanGoBack Obtiene un valor que indica si hay al menos una entrada en el
historial de retroceso de navegacin.
CanGoForward Obtiene un valor que indica si hay al menos una entrada en el
historial de avance de navegacin.
CurrentSource Obtiene o establece una referencia al objeto que contiene el
-
60
CARRERAS PROFESIONALES CIBERTEC
contenido actual.
Source Obtiene o establece el uniform resource identifier (URI) del
contenido actual o el URI del nuevo contenido al que se navega
actualmente.
1.3.2 MANEJO DE ESTADOS
Para pasar datos entre dos pginas, debemos especificar los parmetros y sus valores
en la URI (QueryString). Esta es, probablemente, la forma ms fcil de pasar datos de
una pgina a otra durante la navegacin.
Para pasar los parmetros y valores de una pgina a otra que necesita iniciar debe
aadir el signo de interrogacin (?) y luego especificar el parmetro junto con su valor.
Utilice Uri.EscapeUriString para evitar excepciones formato durante la
navegacin.
Para especificar mltiples parmetros utilice el carcter &.
NavigationService.Navigate(
new Uri("/DestinationPage.xaml?parameter1=v1", UriKind.Relative) );
// O tambin
NavigationService.Navigate(
new Uri(string.Format("/DestinationPage.xaml?parameter1={0}",
Uri.EscapeUriString(stringParameterValue), UriKind.Relative)));
NavigationService.Navigate(
new Uri("/DestinPage.xaml?param1=v1¶m2=v2",UriKind.Relative));
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 6 1
CIBERTEC CARRERAS PROFESIONALES
1.3.2.1 Recuperar el paso de valores
Despus de pasar los valores a la pgina de destino, se puede obtener dichos valores
utilizando NavigationContext y la cadena de consulta. Por lo general, puedo
implementar este proceso dentro del mtodo OnNavigatedTo. Se puede obtener slo
los objetos de cadena de consulta, lo que significa que si ha pasado un nmero entero
como valor, tiene que convertir el valor, la cual se enva como cadena de caracteres, a
tipo entero.
Tenga en cuenta que la clase Page define una propiedad NavigationContext de
tipo NavigationContext, que contiene una propiedad QueryString de tipo
IDictionary . Utilizando la propiedad QueryString podemos
recuperar los datos pasados de la pgina 1.
En este caso, tan pronto como nos aseguramos que recuperamos los datos
necesarios, le asignamos los valores recuperados a la propiedad Text del control
TexBox. Por ltimo, activar la clase base OnNavigatedTo mtodo para asegurar el
funcionamiento normal de la clase base.
protected override void OnNavigatedTo(NavigationEventArgs e){
string myParameterValue =
NavigationContext.QueryString["parameter1"];
base.OnNavigatedTo(e);
}
protected override void OnNavigatedTo(NavigationEventArgs e) {
string value = string.Empty;
IDictionary querySt = NavigationContext.QueryString;
querySt.TryGetValue("InputText", out value);
if (value != null) {
txtPage2.Text = value;
}
base.OnNavigatedTo(e);
}
-
62
CARRERAS PROFESIONALES CIBERTEC
LABORATORIO 3.1
Proyecto Windows Phone para Navegar entre Pginas
Implemente una aplicacin Windows Phone para crear una barra de aplicaciones en
nuestra Pgina Principal para navegar entre diversas pginas.
1. Inicio del Proyecto
Seleccione la opcin Create New Project
Desde el IDE New Project, seleccione la plantilla (Template) Visual C#.
Seleccione la aplicacin Windows Phone Applicatioin, tal como se muestra.
Asigne un nombre al proyecto, luego presione el botn OK.
Seleccione el tipo de Page
Asigne el nombre a la Pgina, presione el botn Add
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 6 3
CIBERTEC CARRERAS PROFESIONALES
2. Diseo
Antes de iniciar el proceso, agregue algunos
archivos de imgenes de extensin .png:
calculador.png, internet.png, reproductor.png.
Agregue un control Image a la pgina, tal como se muestra, en la ventana de
propiedades del control. Asigne, en la propiedad Source, el archivo Cibertec.jpg, tal
como se muestra.
Propiedad Source del control Image
-
64
CARRERAS PROFESIONALES CIBERTEC
3. Programacin
Defina el nameSpace Microsoft.Phone.Shell, as como el objeto ApplicationBar
llamado Bar, tal como se muestra.
Definiendo el mtodo a los botones, llamados botn_Click, donde al clickear un botn
de la barra de aplicaciones, navegamos al Page indicado.
NameSpace Microsoft.Phone.Shell
Definir a Bar de tipo ApplicationBar
El mtodo botn_Click, ejecuta el proceso de los botones de la barra de aplicaciones
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 6 5
CIBERTEC CARRERAS PROFESIONALES
En el constructor, definiremos las propiedades del Bar (ApplicationBar), adems
agregamos tres button, definiendo la propiedad image, as como la propiedad text, tal
como se muestra:
Presione F5 para ejecutar y verifique que cada botn muestre su mensaje.
Enlazar el evento de cada botn al mtodo botn_Click tal como se muestra
Instanciar el objeto Bar y asignarle algunas propiedades
Agregar los buttons b1, b2 y b3 a Bar
Asignar al Application bar del Page el objeto Bar
Definir 3 buttons de tipo ApplicationBar
-
66
CARRERAS PROFESIONALES CIBERTEC
LABORATORIO 3.2
Pasando valores entre Pginas de una Aplicacin Phone
Implementa una aplicacin Windows Phone para navegar entre las pginas de una
aplicacin Phone
1. Inicio del Proyecto
Para iniciar un proyecto Windows Phone:
Seleccione la opcin Create New Project.
Desde el IDE New Project, seleccione la plantilla (Template) Visual C#, el cual
listara un conjunto de proyectos
Seleccione la aplicacin Windows Phone Applicatioin, tal como se muestra.
Asigne un nombre al proyecto, luego presione el botn OK para grabar el proyecto
Seleccione la opcin New Project para crear un nuevo proyecto
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 6 7
CIBERTEC CARRERAS PROFESIONALES
Diseo.
Disea la pgina MainPage para dar la bienvenida al usuario, dibuje la pgina tal como
se muestra:
Seleccione la plantilla Windows Phone en Visual C#
Asigne nombre al proyecto
Control TextBlock, propiedad Text: Bienvenido
Control Image, propiedad Name: imgPrincipal
Control HyperLinkButton, propiedad Content: Continuar
-
68
CARRERAS PROFESIONALES CIBERTEC
Programacin
Selecciona el evento Click del control HyperlinkButton, tal como se detalla:
Selecciona una imagen en la propiedad Source, la imagen asignada al control
Seleccione el evento Click, hacer doble click sobre el evento
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 6 9
CIBERTEC CARRERAS PROFESIONALES
Programe el evento Click del control HyperLinkButton. Seleccione desde la ficha
Eventos, el evento llamado Click, hacer doble click al evento.
Diseo de Acceso.xaml
A continuacin, disee la pgina Acceso.xaml que permita el ingreso de un usuario a
la aplicacin. Dibuje la pgina tal como se muestra:
En el constructor definir la orientacin de la pgina.
Definir el servicio de navegacin, hacia la pagina Acceso.xaml, definiendo la ruta Relativa
Cambiar la propiedad a PortraitorLandscape
-
70
CARRERAS PROFESIONALES CIBERTEC
Aadiendo Controles: A continuacin, disea los controles de la pgina,
configurando las propiedades de cada control.
En la propiedad Items, agregue los Items del ListBox:
Microsoft
Cibertec
UPC
Luego, presione el botn OK.
Control TextBox: Name=txtUsuario
Control PasswordBox: Name=pbClave
Control ListBox: Name=lbEmpresa
Control HyperLink: Content=Retornar
Control HyperLink: Content=Aceptar
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 7 1
CIBERTEC CARRERAS PROFESIONALES
Programacin: Programe los eventos Click del HyperLinkButton1 e
HyperLinkButton2
Diseo de Seleccion.xaml
A continuacin, disee la pgina Seleccion.xaml que permita el ingreso de un usuario
a la aplicacin. Dibuje la pgina tal como se muestra:
Direccionando hacia la pgina Seleccin.xaml enviando parmetros nombre y empresa
Direccionando hacia la pgina anterior
Control TextBlock: name=lblUsuario
Control TextBlock: name=lblEmpresa
Control Image: name=imgEmpresa
Control HyperLink: content=Retornar
-
72
CARRERAS PROFESIONALES CIBERTEC
Programando el evento Loaded del PhoneApplication, seleccione desde la lista de
eventos de la ventana de propiedades, el evento Loaded, tal como se muestra.
Programacin
Al cargar la pgina, recuperamos los valores del QueryString, tal como se muestra, y
visualizamos los datos.
Presione la tecla F5 para ejecutar.
Recupero los valores enviados por la cadena de consulta
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 7 3
CIBERTEC CARRERAS PROFESIONALES
Resumen
Hay varias formas de navegar entre pginas, pero vamos a enfocarnos en una a la
que se va a llamar Navegacin Simple de Web. Navegaremos entre pginas de
igual manera como si fuesen pginas de HTML.
Si queremos ir de la primera a la segunda, podemos hacer uso de un control
HyperlinkButton. Este permite realizar la navegacin entre dos pginas. Para
establecer el vnculo entre pginas a travs del control HyperlinkButton, se puede
hacer usando slo XAML
Se puede navegar entre pginas utilizando cdigo en vez de usar slo XAML,
pueden usar cualquier elemento XAML que se prefiera. En este ejemplo, vamos a
crear tres botones y cada uno apunta al mismo controlador de eventos. En el
cdigo C# siguiente, vern que se averigua cul botn ha sido pulsado y luego se
va a la pgina apropiada.
El servicio de navegacin que se devuelve de la propiedad NavigationService es la
instancia de la clase NavigationService administrada por el primer navegador en el
rbol visual. Si no se encuentra ninguna, se devuelve null, lo que indica que el host
de una pgina no admite la navegacin
De forma predeterminada, NavigationService no almacena ninguna instancia de un
objeto de contenido en el historial de navegacin. En su lugar, NavigationService
crea una nueva instancia del objeto de contenido cada vez que se navega a l
mediante el historial de navegacin. Este comportamiento est diseado para
evitar un consumo de memoria excesivo cuando se navegue a muchas partes del
contenido y a grandes partes del mismo.
Para pasar datos entre dos pginas, debemos especificar los parmetros y sus
valores en la URI (QueryString) es probablemente la forma ms fcil de pasar
datos de una pgina a otra durante la navegacin.
Para ello aadir ("?") signo de interrogacin para el final y luego especifique el
parmetro par = valor (Cdigo de verificacin abajo). Utilice Uri.EscapeUriString
para evitar excepciones formato durante la navegacin.
Despus de pasar los valores a la pgina de destino que se puede obtener
utilizando NavigationContext y la cadena de consulta. Por lo general, se puede
implementar este proceso dentro del mtodo OnNavigatedTo
-
74
CARRERAS PROFESIONALES CIBERTEC
Si desea saber ms acerca de estos temas, puede consultar las siguientes
pginas:
Navegacin entre pginas
http://maromasdigitales.net/2010/12/31-dias-de-windows-phone-dia-2-
avegacion-entre-pginas/
Clase NavigateService
http://msdn.microsoft.com/es-
es/library/system.windows.controls.page.navigationservice.aspx
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 7 5
CIBERTEC CARRERAS PROFESIONALES
ACCESO A DATOS POR WINDOWS PHONE 7
LOGRO DE LA UNIDAD DE APRENDIZAJE
Al trmino de la unidad, el alumno desarrolla procesos que permitan acceder a los datos desde un servidor remoto consumiendo servicios para consultar los datos y almacenarlos en un equipo del usuario.
TEMARIO
2.1 Tema 3 : Almacenamiento Local: IsolatedStoraged 2.1.1. : Almacenamiento de datos en WP7 2.1.2. : Laboratorio
2.2 Tema 4 : Acceso a datos en Archivos XML 2.2.1. : Acerca de XML 2.2.2. : Manejo de datos en XML en aplicacin Phone 2.2.3. : Controles enlazados a los datos
2.2 Tema 5 : Windows Communication Foundation 2.3.1. : WCF, Arquitectura 2.3.2. : Caractersticas del WCF 2.3.3. : Windows Phone y WCF
ACTIVIDADES PROPUESTAS
Los alumnos implementarn una aplicacin Mobile para el manejo archivos en el equipo local
Los alumnos aprendern a definir y consumir servicios implementos por WCF y ejecutados en una aplicacin mobile.
Los alumnos aprendern a consultar datos consumiendo servicios, desarrollados en WCF y ejecutados en una aplicacin mobile.
UNIDAD DE
APRENDIZAJE
2
-
76
CARRERAS PROFESIONALES CIBERTEC
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 7 7
CIBERTEC CARRERAS PROFESIONALES
2.1 ALMACENAMIENTO DE DATOS EN WP7
La programacin de aplicaciones para Windows Phone tiene un defecto importante en
lo que se refiere a almacenamiento de datos. En esta plataforma, no existe una Base
de Datos interna del telfono donde podamos guardar y acceder a los datos de
nuestra aplicacin. No se sabe si en un futuro esto cambiar, pero de momento
Microsoft sigue con la idea de almacenamiento en la nube. Es decir, la filosofa de
Windows Phone es utilizar Internet para guardar todos los datos. No es una mala
teora, porque los datos estaran a salvo de problemas con el dispositivo y seran
accesibles siempre.
Existen diferentes opciones para almacenar datos. Bsicamente son dos: Isolated
Storage o almacenamiento en local y almacenamiento en Base de Datos en la nube.
En este captulo, nos centraremos en el almacenamiento con Isolated Storage.
2.1.1 ALMACENAMIENTO LOCAL: ISOLATEDSTORAGE
Windows Phone 7 dispone de un almacenamiento, denominado Isolated Storage por
aplicacin, que tiene las siguientes caractersticas:
Isolated Storage es un almacenamiento totalmente aislado de cualquier otra
aplicacin. Los programas son ejecutados en una especie de SandBox, en la cual
no disponen de acceso a ningn recurso de cualquier otra aplicacin.
Se dispone de un almacenamiento especial, el cual si puede ser compartido y
accesible por cualquier aplicativo, es el MediaLibrary.
Cada aplicacin dispone de todo el espacio disponible para para almacenamiento
del dispositivo en cada momento. Es decir, no tenemos un espacio reservado. Hay
que tener en cuenta que no sabremos nunca donde se guarda la informacin,
pues en dispositivos con tarjetas MicroSD de memoria externa, no es posible
determinar si la informacin est guardada en la memoria interna del propio
telfono o en la tarjeta MicroSD. Esto se debe a que el sistema junta ambos
espacios formando una especie de Raid 0, sin distinguir, para el usuario, uno de
otro.
-
78
CARRERAS PROFESIONALES CIBERTEC
Con todas esas consideraciones iniciales, vamos a explicar cmo funciona, cmo se
almacena y cmo se lee este espacio.
El almacenamiento de datos con Isolated Storage, o almacenamiento local, es una
forma de guardar los datos en archivos locales que se usa desde Silverlight 2. Se
llama almacenamiento aislado porque solo nuestra aplicacin tiene acceso a sus
archivos. No es posible compartir datos entre dos aplicaciones con este sistema.
2.1.1.1 Utilizando IsolatedStorageSettings
La clase IsolatedStorageSettings se utiliza principalmente cuando guardamos los
datos de la configuracin de nuestra aplicacin.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 7 9
CIBERTEC CARRERAS PROFESIONALES
Por qu guardar la configuracin? Esta clase est preparada y diseada para
guardar esta informacin debido a que nos proporciona un IDictionary de tipo clave-
valor, Dictionary(Of TKey, TValue), llamado Application Settings el cual
automticamente busca el espacio de almacenamiento e interacciona con l. Eso nos
facilita mucho la labor de guardar y leer datos simples.
Por ejemplo, vamos a crear una clase con dos mtodos para leer y grabar la
configuracin de nuestra aplicacin.
De esta manera tan sencilla estamos grabando y leyendo cadenas de texto en nuestro
almacn local. Obviamente, esto es ejemplo simple para que se entienda el
funcionamiento. Para realizar algo ms eficaz deberamos de poder guardar cualquier
cosa como un valor dentro de nuestro diccionario, para ello modificamos la clase para
dejarla de la siguiente forma:
public class Configuracion{
public static string Leer(string k){
string rs = "";
if IsolatedStorageSettings.ApplicationSettings.Contains(k))
{
rs=IsolatedStorageSettings.ApplicationSettings[k].ToString();
}
return rs;
}
public static void Grabar(string clave, string valor){
IsolatedStorageSettings.ApplicationSettings[k] = valor;
}
}
public class Configuracion{
public static T Leer(string k){
T rs = default(T);
if (IsolatedStorageSettings.ApplicationSettings.Contains(k)){
rs = (T)IsolatedStorageSettings.ApplicationSettings[k];
}
return rs;
}
public static void Grabar(string k, T valor){
if (IsolatedStorageSettings.ApplicationSettings.Contains(k)){
IsolatedStorageSettings.ApplicationSettings[k] = valor;
}
else{
IsolatedStorageSettings.ApplicationSettings.Add(k, valor);
}
IsolatedStorageSettings.ApplicationSettings.Save();
}
}
-
80
CARRERAS PROFESIONALES CIBERTEC
En algunas ocasiones, en el mtodo de grabacin se debe de indicar el mtodo Save
del IDictionary. Esto puede resultar un tanto extrao ya que la clase
IsolatedStorageSettings implcitamente ya guarda la informacin del diccionario en el
momento de asignar un valor, pero debemos de remarcar la grabacin ya que es el
nico momento en donde nos puede sorprender con una excepcin de la clase
IsolatedStorageException, normalmente por espacio insuficiente.
La clase IsolatedStorageSettings no es ms que una clase especial que deriva de
IsolatedStorageFile. Si nos vamos un poco ms all, podemos decir que la estructura
del almacenamiento de nuestro WP7 es \Aplications\Data\(ID
Aplicacin)\Data\IsolatedStore en donde Id Aplicacin es el SandBox de
nuestra propio programa, siendo en este caso C4EFD08D-D2A8-4595-966F-
435E7722E9DF.
2.1.1.2 Clase IsolatedStorage
El espacio de nombres System.IO.IsolatedStorage contiene tipos para crear y
utilizar un sistema de archivos virtual. El almacenamiento aislado proporciona un
almacenamiento seguro en el cliente para las aplicaciones de confianza parcial. En
Silverlight, todas las operaciones de E/S estn restringidas al almacenamiento aislado
y no usan el sistema de archivos del sistema operativo.
-
DE S ARR O L L O DE AP L IC AC I ONE S M V I LE S I I 8 1
CIBERTEC CARRERAS PROFESIONALES
Clase Descripcin
IsolatedStorageException Excepcin que se produce cuando una operacin del
almacenamiento aislado produce un error.
IsolatedStorageFile Representa un rea de almacenamiento aislado que
contiene archivos y directorios.
IsolatedStorageFileStream Expone un archivo dentro del almacenamiento
aislado.
IsolatedStorageSettings Proporciona un objeto Dictionary
que almacena los pares clave-valor en
almacenamiento aislado.
2.1.1.3 Clase IsolatedStorageFile
Esta clase abstrae el sistema de archivos virtual para el almacenamiento aislado. Un
objeto IsolatedStorageFile se corresponde con un mbito de almacenamiento aislado
especfico, donde se encuentran los archivos representados por los objetos
IsolatedStorageFileStream. Las aplicaciones pueden utilizar el almacenamiento
aislado para guardar datos en su propia parte aislada del sistema de archivos, sin
tener que especificar una ruta de acceso concreta dentro del sistema de archivos.
La raz del sistema de archivos virtual se encuentra en una carpeta de usuario en el
sistema de archivos fsico. Cada identificador nico es proporcionado por el host y se
asigna a una raz distinta, por lo que cada aplicacin dispone de su propio sistema de
archivos virtual. Una aplicacin no puede salir de su propio sistema de archivos para
navegar a otro.
A. Mtodos del IsolatedStoraged.
A continuacin listaremos los mtodos de la clase IsolatedStorageFile:
Mtodo Descripcin
CopyFile(String, String) Copia un archivo existente en un archivo nuevo.
CreateDirectory Copia un archivo existente en un archivo nuevo y,
opcionalmente, sobrescribe el archivo existente.
-
82
CARRERAS PROFESIONALES CIBERTEC
CreateFile Crea un archivo en el almacn aislado.
DeleteDirectory Elimina un directorio del mbito de
almacenamiento aislado.
DeleteFile Elimina un archivo del almacn aislado.
DirectoryExists Determina si la ruta de acceso especificada hace
referencia a un directorio existente en el almacn
aislado.
FileExists Determina si la ruta de acceso especificada hace
referencia a un archivo existente en el almacn
aislado.
GetDirecto