LINUX.ORG.RU

Сообщения Adonai

 

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

Эдакий 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
()

Экспорт классов из C++ в QML

ЛОР, доброго времени суток.

Вопрос такой. Есть ли возможность пользоваться в QML теми же классами, которые я использую в С++?

Уточню. Я знаю, есть много примеров экспорта типов в QML, так, чтобы ими можно было пользоваться как QML-объектами, но я хочу немного не того.

В примерах обычно даётся такое:

qmlRegisterType<Class>("my.class"...."Class")

import my.class 1.0

Class {
    name: "hello"
    done: true
}

Мне нужно, чтобы этот класс можно было использовать в том числе и в Javascript-вставках QML (как это сейчас с QVariant, например), т.е.

Q_INVOKABLE addItem(ItemClass item);
...
onCheckedChanged: ItemHandler.addItem(new ItemClass())

Как в таком случае нужно вынести класс ItemClass, чтобы QML его внятно понимал и мог инстанцировать в рантайме?

P.S. Я видел макрос QML_DECLARE_TYPE, но так и не нашёл внятного объяснения по его использованию.

 , ,

Adonai
()

Magic Folder, KDE 4.10.4

Подскажите, работает ли у кого-нибудь плазмоид Magic Folder? Желательно на последних версиях кед.

Плазмоид позволяет скинуть на него кучу файлов, которые он сам потом рассортировывает по папкам по regex/wildcard/bash-скриптам.

То ли я неправильно скидываю файлы в него, то ли пакеты какие-то недоустановлены...

 , ,

Adonai
()

Авторизация на сайте через попап

Делаю клиент для сайта. Сайт ogoloda.li. Делаю на Qt/QML. Использую QWebPage, т.к. без выполнения javascript на страничках не получить рецептов. На сайте авторизация через js/виджет от loginza.ru с аккаунтами google/facebook/etc.

Вопрос: как через QtWebkit программно авторизоваться на таком сайте?

Я понимаю, что мне нужно сделать пару запросов и получить какие-то куки, но как к этому вопросу подступиться, честно говоря, не представляю...

Перемещено beastie из development

Adonai
()

Native X11 (Fedora) на Nexus 4

Сегодняшняя статья.

Похороникс

An installer has come about to easily install Fedora 19 for ARM on the unlocked Google Nexus 4 smart-phone.

With it coming out of the Freedreno project rather than upstream Fedora, don't expect full/continued support, but it's fun nevertheless if you want to play with Fedora 19 natively on the Nexus 4. Unlike the Ubuntu Phone/Tablet versions, Fedora on the Nexus doesn't get in the way by having a CyanogenMod layer.

Вкратце поясню суть. Парень, который реверсил и делал Gallium3D-драйвер из Qualcomm SoC (Rob Clark), склепал установщик федоры для Google Nexus 4.

Установщик чистый, не используется никаких прослоек совместимости, никаких андроид-драйверов, surface-flinger'ов и Bionic'ов, в общем, мало общего с Ubuntu Touch.

Устанавливается в chroot-окружение, в /data, единственная разница - это его кастомное ядро с драйвером, соответственно, грузится сразу в chroot и не запускает Андроид.

Пока о работоспособности трудно говорить, но базовые компоненты устанавливаются, работает ввод, графика, Иксы, это уже что-то. Я считаю, парень молоток.

Репозиторий с инструкцией и ресурсами

Кто-нибудь будет пробовать, кроме меня?

 , , ,

Adonai
()

Когда лавина Wayland, наконец, обрушится?

Часто вижу новости здесь, на похорониксе в духе «<DM> в новой версии будет поддерживать Wayland и уходить от X», «Wayland теперь с <feature_name>» и так далее.

Вроде бы все движется к тому, что нужно отказываться от Иксов. И хоть они и будут довольно долго волочиться позади, в итоге Вейланд должен победить, поскольку идеологически и архитектурно более совершенен. Так было сказано в Великом Пророчестве.

Вейланду уже почти пять лет. Уже была выпущена версия 1.0. Когда, собственно, по дефолту дистрибутивы начнут паковать его вместо X.Org? На какую дату назначен эпический иксокапец?

И если даты хотя бы более-менее определённой нет, хотелось бы услышать ваше мнение по поводу того, какое будущее в ближайшие годы ждет Вейланд.

 , , ожидания

Adonai
()

Есть ли шанс на нативную поддержку Mer/MeeGo на телефонах с Adreno?

Используя вот этот драйвер, есть ли шанс сделать такую сборку линукса с X11/Wayland и, таким образом, нативными приложениями, которая будет работать на Nexus 4/Optimus G/других телефонах с Qualcomm GPU?

Если да, будет ли такая сборка юзабельна в части остальных драйверов? Насколько я знаю, драйверы сети/устройств ввода у ванильного ядра и ядра Андроида не настолько сильно отличаются?

Прошу прощения, если перепутал названия чипсетов/не так понял новость.

 , ,

Adonai
()

[Win] Gnome 3 переключение раскладок

Насколько я понимаю, опция переключения раскладок отдельно для каждого приложения будет снова на месте в Gnome 3.8. Победа.

https://bugzilla.gnome.org/show_bug.cgi?id=684210

 , ,

Adonai
()

Проблема с соединениями

Столкнулся со странной проблемой. Пропала связь с базой данных на одном из серверов. Симптомы такие:

1) Пинг до сервера БД идет отлично.

2) Телнет на порт базы данных (1521, база оракловая) не проходит, зависает на Trying <host> ...

3) С любого другого компа, и даже с соседнего сервера, все отлично, и пинги есть, и телнет на порт успешен.

4) Неделю назад все работало.

5) В логах никаких ошибок.

Adonai
()

RSS подписка на новые темы