Obtener Timeline de Twitter

By Pavel Espitia on febrero 27th, 2012

Un saludo a tod@s, en este post veremos como crear una simple aplicación para buscar el Timeline de un usuario en Twitter.

Para empezar creamos un nuevo proyecto de tipo Windows Phone Application:



Añadimos una nueva clase la cual llamaremos ItemCollection en la cual tendremos tres propiedades: UserName, Message e ImageSource, esto será el nombre del usuario que obtendremos, el texto del tweet y la imagen de perfil.

 

1
2
3
4
5
6
public class ItemCollection
{
public string UserName { get; set; }
public string Message { get; set; }
public string ImageSource { get; set; }
}

luego creamos nuestra página de presentación, donde tendremos un textbox en el cual digitaremos el usuario que queremos buscar y un botón para buscar, nuestro XAML debe ser parecido a este:

1
<button name="btnBuscar"></button>

Tenemos que añadir una referencia a System.Xml.Linq, y nuestro código debe quedar de la siguiente manera

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Xml.Linq;

namespace TestTwitter
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
}

private void btnBuscar_Click(object sender, RoutedEventArgs e)
{
WebClient wc = new WebClient();
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted); //matriculamos el evento a ejecutar cuando se complete la búsqueda
wc.DownloadStringAsync(new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=" + textBox1.Text));//URI para obtener el timeline del usuario en formato XML
}
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
return;
XDocument xdoc = XDocument.Parse(e.Result);
List contentList = new List();
foreach (XElement item in xdoc.Elements("statuses").Elements("status")) //Recorremos todas las actualizaciones de estado
{
ItemCollection content = new ItemCollection();
content.UserName = item.Element("user").Element("screen_name").Value; //Mostramos el usaurio
content.Message = item.Element("text").Value; //Mostramos la actualización de estado
content.ImageSource = item.Element("user").Element("profile_image_url").Value; //Mostramos la imagen del perfil
contentList.Add(content); //Añadimos la información a la lista
}
listBox1.Visibility = Visibility.Visible;
listBox1.ItemsSource = contentList.ToList();
}

}

}

 

Ejecutamos nuestra aplicación y digitamos el nombre del usuario que queremos buscar y nos aparecerá todas sus actualizaciones.



 

Windows Phone – Cómo convertir una imagen en un botón y añadirle transición

By Pavel Espitia on enero 22nd, 2012

 

Un saludo.

 

En este post vamos a ver cómo convertir una imágen en un botón y añadirle un efecto de transición, todo esto usando sólo Blend y sin usar codigo.

Primero que todo abrimos Expression Blend y creamos un proyecto para Windows Phone de tipo Windows Phone Application.

Después de creado el proyecto insertamos una imagen en el ContentPanel simplemente pegándola en él y ajustamos su tamaño.

Luego de esto seleccionamos Tools->Make into Controls del menú, cuando hagamos esto nos aparecerá una ventana flotante donde seleccionaremos Button, le cambiamos el nombre al control y damos click en OK.

 

En este paso nuestra imagen ya será un botón, el siguiente paso es borrar el texto del control y ya está, esto nos es muy útil cuando queremos que los botones de nuestra aplicación sean mas atractivos.

Luego de esto haremos que nuestro botón tenga un efecto de transición, simplemente haremos que su tamaño disminuya.

Seleccionamos nuestro botón e iremos a la pestaña States, si no nos aparece la veremos si hacemos click en Window->States, en esta pestaña hacemos click en Add state group

Seleccionamos Default Transition y en este momento se empezará a grabar nuestra transición, digitamos cuanto tiempo queremos que dure nuestro efecto de transición y modificamos el tamaño de nuestro botón y dejamos de grabar la transición, en este momento si le damos Play se mostrará cómo quedó nuestro efecto de transición.

Con estos sencillos pasos podemos hacer que varios elementos de nuestra aplicación queden mas atractivos.

 

Desarrollando para Windows Phone 7 – Usando el acelerómetro

By Pavel Espitia on octubre 29th, 2011
Referencias

 

Un saludo, en este post veremos como hacer uso del acelerómetro de nuestro WP7, ya que el uso de sensores en las aplicaciones está muy de Moda. Lo implementaremos en pocos pasos y de una manera sencilla. Podemos hacer uso del acelerómetro en nuestros juegos para controlar diversas acciones.

Primero creamos un nuevo proyecto de Tipo Windows Phone Application y en Target Windows Phone OS Version seleccionamos Windows Phone OS 7.1 que es Mango, hacemos click derecho sobre nuestro proyecto y agregamos una referencia a Microsoft.Devices.Sensors y Microsoft.Xna.Framework



Despues de hacer esto agregamos 3 Texblocks en nuestro ContentPanel en MainPage.xaml como se muestra

1
 <!--ContentPanel - place additional content here-->

Luego de esto nos vamos al código de nuestra página (para los que no lo sabe es sólo oprimir F7) en este momento vamos a definir cómo se va a comportar nuestra aplicación. Para hacer uso de los sensores de los dispositivos con Windows Phone 7 tenemos que hacer uso de Microsoft.Devices.Sensors en nuestro código, así que añadimos la cláusula Using Microsoft.Devices.Sensors;
Creamos un objeto de tipo Accelerometer que en mi caso llamo accel y en el método que se ejecuta cuando nuestra aplicación se encuentra cargada inicializamos nuestro objeto de tipo Accelerometer y la enlazamos a nuestro método de lectura del sensor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//Acelerómetro
Accelerometer accel;

//Creamos la instancia del acelerómetro, enlazamos el evento CurrentValueChanged
//y lo iniciamos con el método Start();
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
accel = new Accelerometer();

accel.CurrentValueChanged += new EventHandlerAccelerometerReading(accel_CurrentValueChanged);

accel.Start();
}

//Método que obtiene la información del acelerómetro
void accel_CurrentValueChanged(object sender, SensorReadingEventArgs e)
{
//Obtenemos la información de forma asíncrona
Dispatcher.BeginInvoke(()=&gt;
{
//La información actual se encuentra en la propiedad "SensorReading" y la mostramos
//en los textblocks de nuestra aplicación
xTextBlock.Text = "Eje X: " + e.SensorReading.Acceleration.X;
yTextBlock.Text = "Eje Y: " + e.SensorReading.Acceleration.Y;
zTextBlock.Text = "Eje Z: " + e.SensorReading.Acceleration.Z;
});

}

, nuestro código debería quedar similar al de la siguiente imagen.