Составители:
Рубрика:
135
if (!exporter.exportContacts(contacts, QVersitDocument::VCard30Type))
return;
QList<QVersitDocument> outputDocuments = exporter.documents();
В завершении процесса, мы можем использовать класс QVersitWriter для записи данных обратно
в экземпляр класса QByteBuffer.
QVersitWriter *writer = new QVersitWriter(input);
writer-> startWriting(outputDocuments);
10.4. Лабораторная работа № 8 «Приложение для рассылки SMS»
10.4.1. Цель лабораторной работы
На примере решения задачи автоматической рассылки
приглашений на день рождения по контактам адресной книги с
фильтром по диапазону возрастов контактов научиться пользоваться
инструментами Qt Mobility.
10.4.2. Введение
В этой лабораторной работе будет рассмотрен пример мобильного
приложения для автоматической рассылки приглашений на день рождения по контактам
адресной книги с фильтром по диапазону возрастов контактов.
10.4.3. Инструкция по выполнению лабораторной работы
Для работы с сообщениями и контактами в MeeGo есть готовый интерфейс – Qt Mobility,
компоненты Contacts и Messaging. Для использования этого интерфейса необходимо добавить в файл
проекта строки:
CONFIG += mobility
MOBILITY = contacts messaging
В исходный текст программы надо добавить макрос QTM_USE_NAMESPACE, который выберет
соответствующее пространство имен. После этого разработка не отличается от разработки обычного
Qt-приложения. Qt Mobility пока еще является довольно изменчивым интерфейсом, описываемый
далее пример был создан для MeeGo Netbook 1.0 с Qt Mobility 1.0.0, при работе с более поздними
версиями (уже есть 1.2), возможно, потребуются небольшие изменения в коде. Используемые
компоненты Qt Mobility содержат довольно много классов, наиболее важными для понимания
являются: QContact, QContactManager, QContactDetailRangeFilter, QMessage, QMessageService,
QMessageManager.
Спроектируем нашу программу следующим образом – у нее будет поле ввода сообщения для
рассылки, два поля ввода возраста (минимальный и максимальный) для выборки, окно для
отображения выбранного списка контактов и две кнопки – сделать выборку и разослать сообщение.
Функциональность будет реализована в классе SenderWidget, наследнике QWidget. Опишем в нем
два слота – select() и send() – они будут вызываться при нажатии соответствующих кнопок.
Виджеты для ввода данных сделаем полями класса, чтобы иметь к ним доступ из слотов. Также
добавим поле класса manager, в котором будем хранить указатель на используемый менеджер
контактов.
Для работы с контактами опишем небольшой API.
1. QList<QContact> selectContacts(int from, int till);
Функция получает от manager список контактов в заданном интервале возрастов – например, от 18 до
23 лет.
2. void sendContacts(QString message, QList<QContact> contacts);
Функция отправляет сообщение message каждому контакту в списке.
Страницы
- « первая
- ‹ предыдущая
- …
- 133
- 134
- 135
- 136
- 137
- …
- следующая ›
- последняя »
