1 / 60

Qt for Android (and Symbian)

Learn about Qt for Android and Symbian, its development process, platforms, light house projects, graphical set-up, SDK deployment, GUI sniffing, porting gotchas, and why to develop for Symbian. A comprehensive guide for developers.

haroldbowen
Download Presentation

Qt for Android (and Symbian)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Qt for Android (and Symbian) Tam Hanna tamhan@tamoggemon.com @tamhanna

  2. About /me • Tam HANNA • CEO, Tamoggemon Ltd. • Runs web sites about mobile computing • Writes scientific books

  3. Overview • Qt for Android (focus) • Qt for • Symbian • MeeGo • TiZen • webOS • Wrap-up

  4. What is Android

  5. Largest mobile OS by share Data: IDC 2012, Market Share Q3

  6. Android is open • Runs ANY app • If user enables it • 50 000 app stores • No permission model • User is NOT root

  7. Android is Java • Apps run in special VM called DALVIK • Pretty high performance • But: NDK is available • Allows use of C++ code

  8. Android is „fragmented“ • Many vendors • Different form factors • Many stores • Many back-ends • Analyst buzzword • Low practical relevance – like PalmOS

  9. Qt for Android

  10. Community-driven port • Started by Bogdan Vatra • 2011 • „Aquired“ by KDE • Provides server infrastructure, etc • No support from Nokia • Digia mentioned in press release

  11. LightHouse

  12. Getting started

  13. Supported platforms • Linux (Ubuntu 10.4 +) • Mac OS • Windows • Speaker recommends: Linux

  14. Getting started • Install Ant 1.8 and OpenJDK • sudo apt-get install ant • sudo apt-get install openjdk-6-jdk

  15. Graphical set-up • http://necessitas.kde.org/necessitas/necessitas_sdk_installer.php • chmod +x linux-online-necessitas-alpha4.1-sdk-installer • sudo ./linux-online-necessitas-alpha4.1-sdk-installer

  16. Automatic deployment • Tool fetches SDK • „One Click Install“

  17. Starting Necessitas • tamhan@ubuntu:~$ cd NecessitasQtSDK/ • tamhan@ubuntu:~/NecessitasQtSDK$ cd QtCreator/ • tamhan@ubuntu:~/NecessitasQtSDK/QtCreator$ cd bin • tamhan@ubuntu:~/NecessitasQtSDK/QtCreator/bin$ sudo ./necessitas

  18. Internal architecture

  19. Library versioning • Qt is updated frequently • Legal reasons • Downward compatibility is pretty good • Qt is large • 7MB binary, or more • Memory is limited

  20. Solution: Ministro • Sits in app stores • Auto-downloads libraries to device

  21. Overview

  22. GUI sniffing

  23. GUI sniffing - II

  24. Input

  25. Project-speficic settings

  26. Configure baseline

  27. Application optics

  28. Permissions

  29. Permissions - II • Signify what app does • Help user decide

  30. Libraries

  31. Signing

  32. Signing - II • Android Signing verifies producer • This binary is from workstation A • NO rights / trust transfer except for update

  33. Library management

  34. Porting gotchas

  35. Definitions

  36. File includes • All include paths are based on /.pro

  37. Includes • #include <qDebug> • #include <QDebug>

  38. gcc gotchas

  39. Specific eekers • Native code bits? • Platform-specific files • .pro.user files • Soft keys?

  40. Why develop for Symbian • Symbian is DEAD • But: devices still in circulation • Top especially in Latin America

  41. Carbide Eclipse-based Mature IDE Limited to 4.6.3 Can not debug well Qt Creator Decent integration Debugs well Qt SDK auto-deploys toolkit Development options

  42. Ovi Store - I • Ovi Store can drive huge volume • 1 million downloads => no issue • VERY low conversion rates • 1:1000 or less

  43. Ovi Store - II • Limited device reach for Qt content • Not every Qt-capable device is enabled • Forget Ovi for China • 3 cents / Dollar

  44. Ovi Store - III • DL/t for game

  45. Ovi Store - III • DL/t for app

  46. MeeGo

  47. Dead platform • N900 and N9 sold decently well • Few thousand technically savvy users • Jolla plans Chinese device • But: good tooling

More Related