Статьи

Подсказка для Android: использование значка быстрого контакта

Если вы потратили какое-то время на устройстве Android, вы, возможно, заметили, как можно щелкнуть маленькие изображения контактов, чтобы запустить панель инструментов с множеством различных действий, таких как вызов, текст или электронная почта этого человека. В этом кратком совете вы узнаете, как встроить эту замечательную функциональность — так называемый значок быстрого контакта — в свои собственные приложения.

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

Примечание. Для этого руководства требуется Android 2.0 или выше.

Начните с нового действия под названием QuickContactBadgeActivity. Внутри метода onCreate () добавьте вызов метода setContentView () для нового макета с именем badge (например, R.id.badge).

Теперь вам нужно создать макет, используя элементы управления QuickContactBadge. Элемент управления QuickContactBadge был представлен в Android 2.0 (уровень API 5). Следующий макет создает два элемента управления QuickContactBadge и предоставляет держатель для третьего элемента управления (элемент управления FrameLayout). Элемент управления QuickContactBadge является производным от элемента управления ImageView. Таким образом, вы можете установить изображение, отображаемое элементом управления QuickContactBadge, так же, как и ImageView, используя атрибут src.

Вот окончательный макет, который мы используем:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version=»1.0″ encoding=»utf-8″?>
<LinearLayout
    xmlns:android=»http://schemas.android.com/apk/res/android»
    android:layout_width=»wrap_content»
    android:layout_height=»wrap_content»
    android:orientation=»vertical»>
    <TextView
        android:text=»Sample Quick Contact Badges»
        android:id=»@+id/TextView01″
        android:layout_width=»match_parent»
        android:layout_height=»wrap_content»></TextView>
    <Button
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»
        android:id=»@+id/pick_contact»
        android:onClick=»onPickContact»
        android:text=»@string/pick_contact_for_badge»></Button>
    <QuickContactBadge
        android:id=»@+id/badge_small»
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»
        android:src=»@drawable/droid_small»></QuickContactBadge>
    <QuickContactBadge
        android:id=»@+id/badge_medium»
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»></QuickContactBadge>
    <FrameLayout
        android:id=»@+id/badge_holder_large»
        android:layout_width=»wrap_content»
        android:layout_height=»wrap_content»></FrameLayout>
</LinearLayout>

Элементы управления QuickContactBadge могут запускать панель действий контакта (как мы ее называем) трех разных размеров: маленький, средний (по умолчанию) и большой. Маленькая панель действий содержит только кнопки действий и минимальные детали. Средняя панель действий содержит кнопки действий и некоторую дополнительную контактную информацию. Большая панель действий содержит множество действий, контактную информацию и графику.

Примечание: текущий плагин ADT для Eclipse позволяет вам устанавливать размер окна панели действий контакта в XML. Однако при попытке установить значение отображается ошибка. К сожалению, это означает, что вы не можете установить этот атрибут в файле макета XML. Вместо этого вы должны установить размер окна программно, используя метод setMode () класса QuickContactBadge. Вы увидите, как на следующем шаге.

В методе Activity действия onCreate () добавьте следующий код, заменив адрес электронной почты адресом в контактах (добавьте его заранее, если это необходимо).

Чем больше информации связано с контактом, привязанным к значку, тем больше элементов действия будет доступно для использования на панели действий контакта. Например, вот один, использующий мой собственный адрес электронной почты:

А вот еще один с контактом, которому присвоен веб-адрес:

Вы можете использовать метод setExcludeMimeTypes () класса QuickContactBadge, чтобы удалить любые действия или информацию, которую вы не хотите отображать.

Предыдущий пример работал хорошо, потому что вы уже знали свой собственный адрес или добавили контакт, о котором знали, что он существует. Что делать, если контакт еще не существует в вашей базе данных контактов? Попытайся!

Добавьте следующий код, на этот раз, чтобы найти номер телефона, которого у вас, вероятно, нет в адресной книге:

Также обратите внимание, что на этот раз мы используем QuickContactBadge среднего размера. При нажатии на QuickContactBadge для неизвестной записи происходит нечто интересное. У пользователя спрашивают, хотят ли они добавить контакт. Если они выберут «да», они получат возможность добавить адрес электронной почты или номер телефона к существующему контакту или создать новый контакт. Затем при последующих нажатиях этого QuickContactBadge контакт будет существовать и будет найден. Это может быть очень удобно.

Вообще говоря, вы не знаете, какие контакты есть у кого-то на устройстве. Однако у вас есть доступ к поставщику контента «Контакты», и вы можете при необходимости получать URI для каждого контакта. Вы узнали, как запустить средство выбора контактов из этого предыдущего урока .

Вот пример того, как мы можем использовать контактный URI для предоставления контактной информации для QuickContactBadge:

Здесь вы используете контактный Uri, выбранный пользователем, для настройки QuickContactBadge, по которому пользователь может щелкнуть. Кроме того, это показывает последний и самый большой режим панели действий контакта.

Когда вы можете использовать QuickContactBadge? Используйте QuickContactBadge везде, где отображаются друзья или списки контактов, что позволяет пользователю взаимодействовать с этими людьми другими способами. Вы также можете добавить свой адрес электронной почты и номер телефона в Контакты и предоставить QuickContactBadge в своем приложении, чтобы дать пользователям быстрый способ написать, позвонить или отправить сообщение вам (или вашей службе поддержки).

В этом кратком совете вы узнали, как использовать элемент управления QuickContactBadge для быстрого вызова панели действий контакта (доступны в различных размерах) и включения различных действий. QuickContactBadge — это стандартный элемент управления представлением, доступный в Android 2.0 и выше, поэтому пользователи должны быть знакомы с его назначением и поэтому ценят его, когда разработчики используют его мощные функции. QuickContactBadge также может сэкономить вам, разработчику, ценное время на создание всех возможных намеренных действий, которые этот элемент управления обеспечивает с легкостью.

Разработчики мобильных приложений Лорен Дарси и Шейн Кондер являются соавторами нескольких книг по разработке Android: углубленная книга по программированию под названием « Разработка беспроводных приложений для Android» и « Разработка Android-приложений Sams TeachYourself за 24 часа» . Когда они не пишут, они тратят свое время на разработку мобильного программного обеспечения в своей компании и оказание консультационных услуг. С ними можно связаться по электронной почте [email protected] , через их блог на androidbook.blogspot.com и в Twitter @androidwireless .

Купить Android-разработку беспроводных приложений, 2-е издание Купить Sam's Teach Yourself для Android-разработки приложений в течение 24 часов Код Мамламбо в Код-Каньоне