Qt5 on subsurface-android

Anton Lundin glance at acc.umu.se
Tue Mar 25 02:13:45 PDT 2014


On 25 March, 2014 - Martin Gysel wrote:

> Am 25.03.2014 06:46, schrieb Venkatesh Shukla IIT BHU:
> > On the other hand, the user interface is ugly and functionally useless.
> > In the present condition, it cannot be used for mobile devices. Having a
> > single code base for both environments fail as the UI elements would
> > need to be changed to adapt to mobile environment. Also, it may inhibit
> > other android developers ,who are comfortable in Java and xml, and don't
> > know Qt. 
> 
> it is only 'ugly and functionally useless' because it is the very same
> code running on android and the desktop platforms. it has nothing to do
> with c/c++ and qt. as far as I know the android 'port' was only
> something like a proof of concept hack by glance to show it is possible
> to do but I doubt anybody would release a desktop UI on a mobile platform.
> 

I've actually tried it on a tablet with a mouse and then it was almost
usable =)

But, yes, it was a poc hack.

> > 1. Have the UI made in Java and Xml. As far as I know, all the UI
> > elements used in present Subsurface can be migrated to android.
> > 2. The underlying core functions of subsurface will remain in C/C++. As
> > Dirk as said, there is no chance of shifting the code base to another
> > language, for instance Java.
> > 3. Assembling the two systems by using JNI interface provided by the
> > Android Native Development Kit.
> 
> you can do the same with qt, create a UI which feels native on android
> using qml (the same or very similar code should also work on ios), then
> you can directly use the qt models which are already present and used by
> the desktop application.
> 

To produce a workable android version we would probably need to combine
the two techniques. Some parts of android, eg. the bluetooth choosing
and the usb-devices consent dialogs would need to be java code, but
those could most probably be called from jni interfaces. Current
poc-hack uses a bit of Qt5's QAndroidJniObject to discover a good place
to store the xml[1].

According to the few parts of the Qt5 touch/android documentation I've
read it says that it should be possible to build a touch friendly ui
with Qt5 so i would suggest starting in that end.


//Anton


1. https://github.com/glance-/subsurface/blob/android/android.cpp#L17

-- 
Anton Lundin	+46702-161604


More information about the subsurface mailing list