Este documento describe cómo acceder y utilizar datos de contactos y calendario en una aplicación para Windows Phone 7. Explica cómo instanciar las clases Contacts y Appointments para realizar búsquedas asíncronas de datos, los diferentes campos de información disponibles, y cómo enlazar los resultados a la interfaz gráfica. También incluye recomendaciones sobre privacidad de datos y permisos.
1. 12/09/2011
Contactos y calendario
Permite seleccionar un contacto y…
enviarle un email
buscar su cumpleaños
buscar citas…
La información puede proceder de
Teléfono
WindowsLive
Outlook
Facebook
…
El acceso es de sólo lectura
Contactos y calendario Contactos Instanciar la clase Contacts
Citas en
Origen de los datos Nombre Foto Otros datos
calendario Acceso a los datos de contactos
Teléfono Windows Realizar una búsqueda
Contacts cons = new Contacts();
Phone
asíncrona
Windows Live Social cons.SearchCompleted += new
EventHandler<ContactsSearchEventArgs>(Contacts_SearchCompl
Cuentas de Exchange eted);
Facebook cons.SearchAsync(String.Empty, FilterKind.None, "Contacts
Test #1");
Redes conectadas con
... ... ...
Windows Live
(Twitter, LinkedIn, …) void Contacts_SearchCompleted(object sender,
Resultados de la
Windows Live Rolodex ContactsSearchEventArgs e)
búsqueda
(creados por el usuario o {
importados de la SIM)
MessageBox.Show(e.Results.Count().ToString());
Libro de direcciones del }
operador
1
2. 12/09/2011
Contactos Contactos
Filtrar datos en las búsquedas Utilizar los datos de contactos
Permite seleccionar el tipo de búsqueda a realizar La información recuperada se almacena en una colección de
objetos Contact
Filtro Descripción
Accounts EmailAddresses
None Busca en todos los contactos Addresses IsPinnedToStart
Busca en los contactos anclados a la pantalla de Birthdays Notes
PinnedToStart
inicio Children PhoneNumbers
DisplayName Busca por nombre para mostrar Companies SignificantOthers
CompleteName Websites
EmailAddre ss Busca por dirección de correo electrónico
DisplayName
PhoneNumber Busca por número de teléfono
Contactos
Utilizar los datos de contactos
Enlazar con la interfaz gráfica mediante DataContext =
e.Results
<ListBox Name="ContactResultsData"
ItemsSource=“{Binding}”> Se va a mostrar solamente el
<ListBox.ItemTemplate> nombre del contacto
DEMO
<DataTemplate>
<TextBlock Name="ContactResults"
Text="{Binding Path=DisplayName, Mode=OneWay}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
2
3. 12/09/2011
Calendario Instanciar la clase Calendario
Appointments
Acceso a los datos del calendario Acotar la búsqueda Utilizar los datos del calendario
Appointments appts = new Appointments(); (últimos 7 días) La información recuperada se almacena en una colección de
appts.SearchCompleted += new objetos Appointment
EventHandler<AppointmentsSearchEventArgs>(Appointments_Searc
hCompleted); Account Location
DateTime start = DateTime.Now; Realizar una búsqueda Attendees Organizer
DateTime end = start.AddDays(7); asíncrona
Details StartTime
int max = 20;
EndTime Status
Appts.SearchAsync(start, end, max, "Appointments Test #1");
void Appointments_SearchCompleted(object sender, IsAllDayEvent Subject
AppointmentsSearchEventArgs e) Resultados de la IsPrivate
{ búsqueda
MessageBox.Show(e.Results.Count().ToString());
}
Calendario
Utilizar los datos del calendario
Enlazar con la interfaz gráfica mediante DataContext =
e.Results
<ListBox Name="AppointmentResultsData"
ItemsSource=“{Binding}”>
<ListBox.ItemTemplate> DEMO
<DataTemplate>
<TextBlock Text="{Binding Path=Subject,
Mode=OneWay}" />
</DataTemplate>
</ListBox.ItemTemplate> Se va a mostrar solamente el
</ListBox> asunto de la cita
3
4. 12/09/2011
Recomendaciones y buenas
Recursos
prácticas
Es necesaria una política de privacidad de datos y el Centro de desarrollo de WP7 en MSDN
http://msdn.microsoft.com/es-es/windowsphone/default.aspx
permiso del usuario para utilizarlos
Añadir capacidades ID_CAP_APPOINTMENTS y AppHub
ID_CAP_CONTACTS al manifiesto de la aplicación http://create.msdn.com/
Información de sólo lectura Windows Phone Developer Blog
Repetir las búsquedas periódicamente para obtener http://windowsteamblog.com/windows_phone/b/wpdev
datos más actualizados MobileNUG
Los datos de contactos pueden ser muy extensos, http://www.mobilenug.es
advertir al usuario durante la carga
Forums
Los filtros de búsqueda (pre-indexados) son más http://forums.create.msdn.com/forums/
rápidos que LINQ
4