Capacidades avanzadas
Download
1 / 33

Capacidades avanzadas - PowerPoint PPT Presentation


  • 160 Views
  • Uploaded on

Capacidades avanzadas. Jose Antonio Gallego Jefe de proyectos Eduardo Ortega MVP-Windows Phone. Windows Phone 7.5 Acelerómetro. Sensores. Windows Phone dispone de varios sensores Permiten determinar la orientación y movimiento del dispositivo Es posible acceder a cada sensor

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Capacidades avanzadas' - ziarre


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Capacidades avanzadas

Capacidadesavanzadas

Jose Antonio Gallego

Jefe de proyectos

Eduardo Ortega

MVP-Windows Phone


Windows phone 7 5 aceler metro
Windows Phone 7.5Acelerómetro


Sensores
Sensores

Windows Phone dispone de varios sensores

Permiten determinar la orientación y movimiento del dispositivo

Es posible acceder a cada sensor

SensorBase<TSensorReading> clase base de APIs sensores

APIs no permitidas bajo pantalla bloqueada ni agentes en segundo plano


Aceler metro
Acelerómetro

  • Determina dirección de movimiento

  • Expresa la aceleración como vector tridimensional

    • Componente X

    • Componente Y

    • Componente Z

  • Detecta la dirección en

    que el usuario mueve el dispositivo


  • Aceler metro1
    Acelerómetro

    • if (!Accelerometer.IsSupported)

    • {

    • // El dispositivo en el que se está ejecutando la App no dispone de

    • // acelerómetro, lo cual se notificará al usuario con un mensaje

    • MessageBox.Show("El dispositivo no dispone de acelerómetro");

    • }

    • Leer datos del acelerómetro

      • Agregar referencias

        Microsoft.Devices.Sensors

        Microsoft.Xna.Framework(datos = vector3)

      • Comprobar si está soportado


    Aceler metro2
    Acelerómetro

    • if(accelerometer== null)

    • {

    • // Instanciar el Acelerómetro

    • accelerometer= new Accelerometer();

    • accelerometer.TimeBetweenUpdates= TimeSpan.FromMilliseconds(20);

    • accelerometer.CurrentValueChanged+=new EventHandler<SensorReadingEventArgs

    • <AccelerometerReading>>(accelerometer_CurrentValueChanged);

    • accelerometer.Start();

    • }

    • Leer datos del acelerómetro

      • Inicializar el acelerómetro


    Aceler metro3
    Acelerómetro

    • voidaccelerometer_CurrentValueChanged(objectsender,

    • SensorReadingEventArgs<AccelerometerReading> e)

    • {

    • // Llamar a la función de actualización del UI pasándole datos del acelerómetro

    • Dispatcher.BeginInvoke(() => UpdateUI(e.SensorReading));

    • }

    • privatevoidUpdateUI(AccelerometerReadingaccelerometerReading)

    • {

    • Vector3 acceleration = accelerometerReading.Acceleration;

    • // Mostrar los valores numéricos

    • xTextBlock.Text= "X: " + acceleration.X.ToString("0.00");

    • yTextBlock.Text = "Y: " + acceleration.Y.ToString("0.00");

    • zTextBlock.Text = "Z: " + acceleration.Z.ToString("0.00");

    • }

    • Leer datos del acelerómetro

      • Implementar manejador del evento CurrentValueChanged

      • Actualizar el interfaz de usuario con los nuevos datos


    Windows phone 7 5 aceler metro1
    Windows Phone 7.5Acelerómetro


    Windows phone 7 5 gir scopo
    Windows Phone 7.5Giróscopo


    El gir scopo
    El giróscopo

    • Determina la velocidad rotacional del dispositivo en los ejes X, Y, Z.

      • Los valores obtenidos del sensor del giróscopo determinan la orientación del dispositivo en el espacio

      • No todos los dispositivos están equipados con giróscopo

        • Comprobar si existe el sensor antes de utilizarlo


    C mo utilizar el gir scopo
    Cómo utilizar el giróscopo

    if (gyroscope == null)

    {

    gyroscope = new Gyroscope();

    gyroscope.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);

    gyroscope.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<GyroscopeReading>>(gyroscope_CurrentValueChanged);

    gyroscope.Start();

    }

    . . .

    if (gyroscope != null)

    {

    gyroscope.Stop();

    }


    C mo utilizar el gir scopo1
    Cómo utilizar el giróscopo

    • Información recuperada:

    • RotationRate

    • Timestamp

    Velocidad rotacional alrededor de cada eje del dispositivo (en radianes/seg)

    Momento exacto de la lectura de datos

    voidgyroscope_CurrentValueChanged(objectsender, SensorReadingEventArgs<GyroscopeReading> e)

    {

    //Procesar los datos leídos del sensor

    }


    Windows phone 7 5 gir scopo1
    Windows Phone 7.5Giróscopo


    Windows phone 7 5 magnet metro
    Windows Phone 7.5Magnetómetro


    La br jula
    La brújula

    • Determina el ángulo de rotación del dispositivo respecto al Polo Norte magnético de la Tierra.

      • Se pueden medir también las fuerzas magnéticas alrededor del dispositivo

      • Es necesario calibrarla con frecuencia

      • No todos los dispositivos están equipados con brújula

        • Comprobar si existe el sensor antes de utilizarlo


    C mo utilizar la br jula
    Cómo utilizar la brújula

    if (compass == null)

    {

    compass = new Compass();

    compass.TimeBetweenUpdates = TimeSpan.FromMilliseconds(1);

    compass.CurrentValueChanged += new EventHandler<SensorReadingEventArgs<CompassReading>>(compass_CurrentValueChanged);

    compass.Start();

    }

    . . .

    if (compass != null)

    {

    compass.Stop();

    }


    C mo utilizar la br jula1
    Cómo utilizar la brújula

    • Información recuperada:

    • HeadingAccuracy

    • MagneticHeading

    • MagnetometerReading

    • Timestamp

    • TrueHeading

    Rumbo (en grados) en sentido horario respecto al Polo Norte Magnético

    Precisión (en grados) del rumbo

    Rumbo (en grados) en sentido horario desde el Norte geográfico

    Momento exacto de la lectura de datos

    Datos leídos del magnetómetro (en microteslas)

    voidcompass_CurrentValueChanged(objectsender, SensorReadingEventArgs<CompassReading> e)

    {

    //Procesar los datos leídos del sensor

    }


    Windows phone 7 5 gir scopo2
    Windows Phone 7.5Giróscopo


    Windows phone 7 5 gps y bing maps
    Windows Phone 7.5GPS y Bing Maps


    Servicio de localizaci n
    Servicio de localización

    • El servicio de localización en WP7 obtiene los datos de posicionamiento de:

      • GPS

      • WIFI

      • Radio GSM

    • El sistema busca el equilibrio entre consumo de batería y rendimiento, en función de las necesidades de la aplicación

    • Interfaz de código orientado a eventos administrados


    Utilizar el servicio de localizaci n
    Utilizar el servicio de localización

    • Agregar referencia:System.Device.dll

    • Directiva Using:usingSystem.Device.Location

    • Añadir objeto GeoCoordinateWatcherpublicpartialclassMainPage : PhoneApplicationPage

      {

      GeoCoordinateWatcherwatcher;

      }


    Aplicaci n con localizaci n opcional
    Aplicación con localización opcional

    privatevoid btnIniciar_Click(object sender, RoutedEventArgs e)

    {

    if (watcher == null)

    {

    watcher = newGeoCoordinateWatcher(GeoPositionAccuracy.High);

    watcher.MovementThreshold = 20;

    watcher.StatusChanged += newEventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);

    watcher.PositionChanged += newEventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);

    }

    watcher.Start();

    }

    void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)

    {

    txtLatitud.Text = e.Position.Location.Latitude.ToString("0.000");

    txtLongitud.Text = e.Position.Location.Longitude.ToString("0.000");

    }

    privatevoid btnPararServicioLocalizacion_Click(object sender, RoutedEventArgs e)

    {

    watcher.Stop();

    }

    void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)

    {

    switch (e.Status)

    {

    caseGeoPositionStatus.Disabled:

    if (watcher.Permission == GeoPositionPermission.Denied)

    txtEstado.Text = “Debe habilitar la localización”

    else

    txtEstado.Text = “Servicio no disponible.";

    break;

    caseGeoPositionStatus.Initializing:

    btnIniciar.IsEnabled = false;

    break; 

    caseGeoPositionStatus.NoData:

    txtEstado.Text = “Sin señal";

    btnPararServicioLocalizacion.IsEnabled = true;

    break; 

    caseGeoPositionStatus.Ready:

    txtEstado.Text = “Localización preparada";

    btnPararServicioLocalizacion.IsEnabled = true;

    break;

    }

    }


    Control bingmaps
    Control BingMaps

    • Crear una cuenta de desarrollador

      https://www.bingmapsportal.com/

    • Creamos una nueva Key

      Nombre aplicación, URL, tipo de aplicación…..

    • Agregamos la referencia

      xmlns:map="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps“

    • Insertamos el control

      <map:MapName="miMapa"CredentialsProvider="AwQh_41-o1y-v1GpwaI3IG7ryv7eAlbWjsZFxJbYJVr_7GzHg2Rze"></map:Map>


    Control bingmaps1
    Control BingMaps

    • Cambiar el tipo de vista:

      miMapa.Mode = newRoadMode();

      miMapa.Mode = newAerialMode();

    • Cambiar el zoom:

      if (miMapa.ZoomLevel < 20)

      miMapa.ZoomLevel++;

      if (miMapa.ZoomLevel > 1)

      miMapa.ZoomLevel--;

    • Añadir Pushpin:

      Pushpin pin = newPushpin();

      pin.Content = "Aquí";

      pin.Background = newSolidColorBrush(Colors.Orange);

      pin.Location = coord;

      miMapa.SetView(coord, 14);//indicolascoordenadas y el zoom

      miMapa.Children.Add(pin);


    Windows phone 7 5 gps y bing maps1
    Windows Phone 7.5GPS y Bing Maps


    Windows phone 7 5 motion api y realidad aumentada
    Windows Phone 7.5Motion API y RealidadAumentada


    Introducci n a la realidad aumentada
    Introducción a la realidad aumentada

    La realidad aumentada permite sobreponer información “virtual” en el mundo real


    Introducci n a la realidad aumentada1
    Introducción a la realidad aumentada

    Torre Eiffel

    • Elementos de realidad aumentada

      • Etiquetas de texto emplazadas en puntos del espacio y que se desplazan al mover el dispositivo

        • Edificios, tiendas, hoteles…


    Introducci n a la realidad aumentada2
    Introducción a la realidad aumentada

    • Una aplicación de realidad aumentada necesita utilizar

      • Sensores (Motion API)

      • Cámara

      • Datos


    Sensores1
    Sensores

    • Yaw

    • Pitch

    • Roll

    • Aceleración rotacional

    • Aceleración lineal

    • Obtienen la orientación y movimiento del dispositivo

      • Brújula: rumbo respecto al Polo Norte

         POIs a mostrar en la pantalla

      • GPS: posición en coordenadas geográficas

         Lugares cercanos al dispositivo

      • Motion API: Combina los valores obtenidos de Brújula + Giroscopio + Acelerómetro


    Windows phone 7 5 realidad aumentada
    Windows Phone 7.5Realidad Aumentada



    Gracias www micmovilidad es

    GRACIASwww.micmovilidad.es

    Jose Antonio Gallego

    http://geeks.ms/blogs/jagallego

    @lmovilerowww.fiveflamesmobile.com

    Eduardo Ortega

    http://geeks.ms/blogs/eduardoortega

    www.mobilenug.com


    ad