Статьи

Разработка Windows Phone 7 — Работа с контактами

В этой статье мы рассмотрим, как работать со встроенными данными контактов и использовать их в нашем требовании для манипулирования данными. Windows Phone 7.1 обеспечивает доступ только для чтения к данным, доступным локально на устройстве. Мы можем запросить данные и выбрать пользователей на основе поисковых фильтров, а также мы можем сделать несколько манипуляций, чтобы выполнить некоторую операцию с контактной информацией пользователя.

Давайте посмотрим на пошаговый процесс о том, как использовать контакты для запроса данных. Для запуска контактов нам нужно использовать AddressChooserTask, который используется для выбора контактов. Запрашиваемый результат может быть собран в объекте AddressResult и может быть использован для его перечисления согласно требованию. Давайте начнем с создания нового приложения и начнем использовать AddressChooserTask .

шаги:

Откройте Visual Studio 2010, создайте новый проект Silverlight для Windows Phone 7 и укажите правильное имя проекта, как показано на экране ниже.

2012-01-17 21h06_35

Теперь мы добавим кнопку, которая запускает событие для запроса данных и получения контактов в списке. Добавьте приведенный ниже код XAML, или мы можем перетащить элементы управления, как показано на экране ниже


Код XAML:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Button Content="Get Contacts" Height="83" HorizontalAlignment="Left" Margin="30,16,0,0" Name="btnContacts" VerticalAlignment="Top" Width="402" Click="btnContacts_Click" />
<ListBox Name="lstcontacts" ItemsSource="{Binding}" Margin="47,188,36,52" >
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Name="txtResults" Text="{Binding Path=DisplayName, Mode=OneWay}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBlock Height="41" HorizontalAlignment="Left" Margin="47,118,0,0" Name="txtResults" Text="List of Contacts" VerticalAlignment="Top" Width="373" />
</Grid>

2012-01-17 21h27_04

Теперь мы добавим некоторый код в страницу кода для запроса данных из базы контактов. Для этого перейдите к событию нажатия кнопки и напишите код ниже. По сути, в эмуляторе Windows Phone 7 есть несколько контактов по умолчанию, которые можно проверить, выполнив список в этой статье. Нам нужно добавить пространство имен для доступа к данным.

using Microsoft.Phone.UserData;

Теперь в событие нажатия кнопки добавьте приведенный ниже код. Из кода мы видим, что класс Contact использовался для запроса деталей. Здесь мы будем использовать метод SearchAsyc, чтобы выполнить поиск по объекту и предоставить набор результатов в список, как показано в коде ниже.

Код C #:

private void btnContacts_Click(object sender, RoutedEventArgs e)
{
Contacts cContacts = new Contacts();
cContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(ContactsSearch);
cContacts.SearchAsync(String.Empty, FilterKind.DisplayName, null);
}
void ContactsSearch(object sender, ContactsSearchEventArgs e)
{
try
{
lstcontacts.DataContext = e.Results;
}
catch (System.Exception)
{
txtResults.Text = "No Results Available";
}

if (lstcontacts.Items.Any())
{
txtResults.Text = "Below is the List of Contacts";
}
else
{
txtResults.Text = "No Results Available";
}
}

В приведенном выше коде, если мы видим, мы запрашиваем объект класса контактов и связываем его со списком, используя контекст данных, и делаем небольшую пользовательскую информацию с сообщением. В методе SearchAsync мы предоставляем различные фильтры, которые можно использовать для доступа к данным. Ниже приведен список фильтров, которые могут быть предоставлены на основе требований.

  • Поиск по всем контактам — SearchAsync (String.Empty, FilterKind.None, null)
  • Получить закрепленные контакты — SearchAsync (String.Empty, FilterKind.PinnedToStart, null)
  • Поиск по отображаемому имени — SearchAsync («Karthik», FilterKind.DisplayName, null)
  • Поиск по идентификатору электронной почты — SearchAsync («[email protected]», FilterKind.EmailAddress, null)
  • Поиск по номеру телефона — SearchAsync («123-456-7890 ″, FilterKind.PhoneNumber, null)

Теперь мы закончили с приложением, просто для того, чтобы создать и запустить приложение, чтобы проверить в эмуляторе, нажмите F5 или нажмите «Построить» и выполните решение. Мы можем увидеть конечный результат, нажав кнопку после загрузки приложения, как показано на экране ниже.

2012-01-17 21h36_19

Список контактов, показанный на приведенном выше экране, представляет собой контакты по умолчанию, доступные в эмуляторе для тестирования. Мы можем использовать эти контакты для тестирования и добавлять или удалять его в зависимости от требований.

Вывод:

Итак, в этой статье мы увидели, как использовать поиск данных контактов с помощью AddressChoosertask и вывести данные в список.

Спасибо за чтение моей статьи. Если вам нравится мой блог и вы заинтересованы в получении последних обновлений новых статей, просим вас подписаться на один из этих вариантов.