Составители:
Рубрика:
137
QMessageService service;
QMessage sms;
sms.setParentAccountId(id);
sms.setType(QMessage::Sms);
sms.setBody(“My message”);
QMessageAddress to(QMessageAddress::Phone, “1234567”);
sms.setTo(to);
service.send(sms);
Функция send() не отправляет SMS сама, а ставит ее в очередь на отправку. Кроме того, важно,
чтобы в системе был доступен аккаунт для отправки. На нетбуке с MeeGo Netbook нет штатных
средств для отправки SMS и нет такого аккаунта, поэтому, запуская приложение на таком нетбуке,
отправить SMS не удастся. Но на более подходящей платформе рассмотренное приложение должно
работать полноценно.
Сборку приложения можно осуществить прямо в MeeGo. Установим зависимости
yum install make gcc-c++ qt-devel qt-mobility-devel
Собираем с помощью
qmake; make
Запускаем приложение, будут созданы два тестовых контакта с возрастом 21 и 31 год. Введите
интервал возраста и нажмите кнопку «Select», в списке адресатов должны отобразиться контакты.
Введите сообщение и нажмите кнопку «Send», приложение попытается разослать введенное
сообщение всем контактам из списка.
10.4.4. Задания для самостоятельной работы
1. Сделайте недоступной кнопку «Send», если с момента последнего нажатия кнопки «Select» в
полях ввода возраста произошли изменения.
2. Добавьте к выборке контакта по возрасту выборку по имени
3. Замените телефон на адрес электронной почты и отсылайте сообщение по почте, а не по SMS
4. При компиляции строки «manager->saveContact( &makeContact(...));» компилятор gcc 4.4.2 выдает
предупреждение «warning: taking address of temporary». Объясните, почему это происходит и есть
ли реальная проблема. Измените код, чтобы предупреждение исчезло.
10.5. Выводы
В этой лекции мы провели обзор возможностей, предоставляемых MeeGo API для работы с
данными пользователей — способы их хранения, записи и сериализации в формат vCard. Кроме
котого, были рассмотрены способы получения системных данных и механизм хранения настроек. В
лабораторной работе рассмотрен пример рассылки SMS-сообщений по списку контактов.
10.6. Контрольные вопросы
1) Какой компонент Qt Mobility не используется в приложении:
1. Contacts
2. Messaging
3. Publish and Subscribe
2) Какое пространство имен использует Qt Mobility:
1. Свое собственное
2. Пространство имен совпадает с Qt
3. Пространство имен не используется
3) Для чего используется метод QLineEdit::setInputMask():
1. Задает шаблон допустимых значений
2. Позволяет заблокировать ввод нового значения
3. Устанавливает цвет фона окна ввода
Страницы
- « первая
- ‹ предыдущая
- …
- 135
- 136
- 137
- 138
- 139
- …
- следующая ›
- последняя »
