LINUX.ORG.RU

Моё Qt-приложение на Android

 , , ,


3

3

Эдакий Proof-of-Concept. Того, что можно сделать что-то уже хоть немного полезное уже на текущей Qt 5.1.1 для Android своими руками.

Написал приложение на QML/C++/Java. Функции - фильтрация входящих СМС. Приложение выбирает СМС от указанного в настройках номера и по указанному кодовому слову собирает из содержимого СМС список покупок и их количество.

Изначально программа пилилась для себя, мне просто подумалось, что мой опыт может быть кому-то полезен.

Итак. Составные части программы:

1) Ресивер IncomingSMSReceiver и сервис SMSService - писались на Java, т.к. в текущем релизе ещё нет никакой поддержки Intent'ов и ресиверов.

2) Интерфейс - QML файлы (список, настройки, ручной ввод)

3) Логика - C++ - связанный через JNI с сервисами и через QML-биндинги с интерфейсом код парсера сообщений и враппера настроек Андроида.

Впечатления: К моему счастью на тот момент уже имелась базовая поддержка Android Clipboard и были исправлены (к 5.1.1) большинство ошибок развертывания на устройствах. В Qt Creator 2.8 даже добавили симпатичный графический редактор манифестов.

К сожалению, многие основополагающие для андроида и для взаимодействия с остальной сервисной архитектурой вещи не были реализованы. Например, пришлось писать JNI враппер для получения адекватного определения локали (некоторые обещают в 5.2, в том числа локаль).

Также к сожалению, жрёт оно хоть и полтора МБ на .apk, но библиотеки Ministro тянут около 10 МБ библиотек в сжатом виде (и вангую, около 30 в распакованном).

Код

Скриншоты:1,2 (Lorem ipsum),3,4

(пусть вас не пугает английский язык в интерфейсе - с переводом к последним коммитам я разобрался)

Буду рад если есть предложения по улучшению/доделке, чтобы не стыдно было опубликовать в Google Play. Если для кого-то оно тоже будет полезным, могу выдать и готовый .apk.

P.S. inb4 ненужно; неосилятор; tldr

★★★

Последнее исправление: Adonai (всего исправлений: 4)

Спасибо за код. Буду изучать. А то с нуля писать - ловить теже грабли.

tlx ★★★★★
()

Мое ненужно на ненужно.

anonymous
()

пришлось писать JNI враппер для получения адекватного определения локали

но библиотеки Ministro тянут около 10 МБ

Буду рад если есть предложения по улучшению/доделке, чтобы не стыдно было опубликовать в Google Play

чтобы было не стыдно и мучительно больно - перепиши на java.

geek ★★★
()
Ответ на: комментарий от Adonai

Пока не пробовал портировать Qt-приложения на Android. Но очень хочется. Думаю ваш код пригодится в процессе.

tlx ★★★★★
()

Приложение выбирает СМС от указанного в настройках номера и по указанному кодовому слову собирает из содержимого СМС список покупок и их количество.

А какой юзкейс? Типа жена пишет смс, а оно автоматом попадает в список необходимых покупок?

another ★★★★★
()
Ответ на: комментарий от Adonai

Да ладно тебе. Java надоела.

тогда пиши на ассемблере. Если хочется геморроя - то зачем себя ограничивать? )

geek ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.