Контакты
Описание. Проект демонстрирует работу с Contacts API. Для этого используется библиотека Aurora Contacts, подключение которой представлено в проекте. Приложение реализует просмотр списка контактов телефонной книги и инфо контактов, отслеживание изменений, передачу посредством Qr-кода и экспорта в файл vCard(.vcf), создание контакта посредством экспорта в файл в формате vCard(.vcf).
Подробнее об Contacts API можно прочитать здесь.
Содержание
- Содержание
- Совместимость
- Особенности сборки
- Информация о ветках
- Установка и запуск
- Скриншоты
- Варианты использования
- Ограничения
- Структура проекта
- Правила использования и участие в разработке
Совместимость
Проект совместим с версиями ОС Аврора 5.1.5+ .
Особенности сборки
Данный пример-приложение собирается с помощью Аврора SDK стандартным способом: Документация.
Информация о ветках
Установка и запуск
Проект устанавливается и запускается обычным образом с помощью Аврора SDK: Документация.
При первом запуске приложения необходимо предоставить ему все требуемые разрешения.
Снимки экранов
Варианты использования
Особенности добавления нового контакта
- на главном экране нажать кнопку "+"
- заполнить форму и нажать "поделиться"
- нажать экспорт в файл: создается файл и затем откроется файловый менеджер по пути расположения контакта
- далее можно импортировать контакт, выбрав открытие файла через стандартное приложение контактов.
Ограничения
Баги в Contacts API:
- На запрос контакта по id с помощью
void ContactsManager::queryContact(int id)
приходит сигнал с запрашиваемым контактом[signal] void ContactsManager::contactAvailable(Contact &contact)
. Но contactId контакта, приходящего в сигнале, всегда равен 0 для любого id. При этом остальные данные контакта - верные. - Метод
Phone::PhoneType Phone::getType()
всегда возвращает тип контакта равный числу 20 для всех контактов и всех номеров контактов. - Для первого контакта, занесенного в базу, никогда не приходят изменения при последующих изменениях контакта и информация о контакте не меняется с момента его создания. Версия исправления 5.1.6
Структура проекта
Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.
- Файл CMakeLists.txt описывает структуру проекта для системы сборки сmake.
- Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
- Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
- Каталог cover содержит реализации обложек приложения.
- Каталог components содержит кастомные qml-компоненты.
- Каталог js содержит JS функции.
- Каталог pages содержит страницы приложения.
- Файл PhoneContacts.qml предоставляет реализацию окна приложения.
- Каталог rpm содержит настройки сборки rpm-пакета.
- Файл ru.auroraos.PhoneContacts.spec используется инструментом rpmbuild.
- Каталог src содержит исходный код на C++.
- Файлы contactscontroller.h и contactscontroller.cpp реализуют основной класс приложения.
- Файлы contactsmodel.h и contactsmodel.cpp реализуют модели.
- Файл sharedconstants.h описывает глобальные константы.
- Файл main.cpp является точкой входа в приложение.
- Каталог translations содержит файлы перевода интерфейса пользователя.
- Файл ru.auroraos.PhoneContacts.desktop определяет отображение и параметры запуска приложения.
Правила использования и участие в разработке
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Лицензионное соглашение с участником Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».
Информация об участниках указана в файле AUTHORS.
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.