[Interest] Qt interfacing to Android native UI ?

Edward Sutton edward.sutton at subsite.com
Mon May 2 20:08:39 CEST 2016


On May 1, 2016, at 4:27 AM, Robert Iakobashvili <coroberti at gmail.com<mailto:coroberti at gmail.com>> wrote:

Dear Edward,
What are your conclusions and which direction you decided on
after your experiments?

I never made much progress. While QML looked more "native like” I never felt comfortable using it.

I am doing my new iOS and Android development using Facebook's react-native.  React Native calls native UI from Javascript.

https://facebook.github.io/react-native/

When it makes sense I select UI components that have counterparts in Android and iOS in order to increase code re-use.   I have seem claims of 85% code re-use and from my experience  I do not doubt these claims.

So far, so good...

-Ed



Thanks,
Kind regards,
Robert


On Thu, Nov 5, 2015 at 2:40 PM, Edward Sutton <edward.sutton at subsite.com<mailto:edward.sutton at subsite.com>> wrote:
Hi Robert,

The approach you outlined below was the one I was considering. Use of common
C++ business layer, widgets for desktops, iOS native UI, and Android native
UI.

The Android native UI was my biggest concern.

I am going to continue experimenting with QML for a few more days


Hi Ben,

Thank you for sharing your Android UI interfacing code.  I will take a look.

Your iOS UI interfacing code was *very* helpful in understanding how to mix
C++ and Objective-C++ in the same *.mm file.  Java seems much more
challenging to interface to native UI.  However all I have done so far is
simple JNI calls into Java.

Thank you both,

-Ed


On Nov 5, 2015, at 1:51 AM, Ben Lau <xbenlau at gmail.com<mailto:xbenlau at gmail.com>> wrote:


Not really a solution for wrapping Android UI in Qt app. But I have already
developed an image picker with native UI and communication library between
Qt and Java/Android. May be it could used as example / core framework.

Image Picker
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_benlau_quickandroid_blob_DEV_QuickAndroid_ImagePicker.qml&d=CwIBaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=nrrSNDcnq0DATI4qf2zrUTNMu_m6wsOws_Oz0VoTjAU&s=b9qfgeLoPCVjdDxzeFLLLuGl5EwnXG7Gv0sTjZwTjwU&e=

System Dispatcher - Invoke Java/Android function and vice visa without using
JNI. Data type conversion is handled automatically.

https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_benlau_quickandroid_blob_DEV_qasystemdispatcher.h&d=CwIBaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=nrrSNDcnq0DATI4qf2zrUTNMu_m6wsOws_Oz0VoTjAU&s=m04hl55EIBiEA7ELiqTGCj-dyEOx30iqkz2skvOT-rM&e=


-Ed


On Nov 5, 2015, at 1:36 AM, Robert Iakobashvili <coroberti at gmail.com<mailto:coroberti at gmail.com>> wrote:

Dear Ed,
It seems that I have something native for iOS, but not for Android.

I was thinking now about another path to take:

1. Common layer - with business app logic;

2. Presentation layer with the below options:

2.1 Qt Desktop layer to cover Win, Mac and Linux;
2.2 iOS-Native;
2.3 Android-Native.

Please, update us on your success of co-existence between
Qt-Widgets and QML and whether after adding QML it is still
sustains tough memory environment on iOS and low-memory
Android devices.

Thank you in advance.

Regards,
Robert


On Tue, Nov 3, 2015 at 5:12 PM, Edward Sutton <edward.sutton at subsite.com<mailto:edward.sutton at subsite.com>>
wrote:

I know I can use native iOS UI by mixing Objective-C++ and C++ in the same
*.mm file.

I have done a little Android JNI.  Are there any examples for interfacing to
Android native UI elements?

I need to create a UI picker for manually entering GPS latitude and
longitude in degrees,  or degrees, minutes, seconds for a widgets app.  I
expect it will be hard to make a touch usable widget UI picker.  Developing
a native interface may take similar amount of time but result will be much
superior.

Thank you for your advice,

-Ed
This email and any files transmitted with it from The Charles Machine Works,
Inc. are confidential and intended solely for the use of the individual or
entity to which they are addressed. If you have received this email in error
please notify the sender. Our company accepts no liability for the contents
of this email, or for the consequences of any actions taken on the basis of
the information provided, unless that information is subsequently confirmed
in writing. Please note that any views or opinions presented in this email
are solely those of the author and do not necessarily represent those of the
company. Finally, the recipient should check this email and any attachments
for the presence of viruses. The company accepts no liability for any damage
caused by any virus transmitted by this email.
_______________________________________________
Interest mailing list
Interest at qt-project.org<mailto:Interest at qt-project.org>
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.qt-2Dproject.org_mailman_listinfo_interest&d=CwIBaQ&c=G4BpsyPyB19LB50bn2swXw&r=cAG2c-SQES5P2qb8IW-uwnBOCX_f2qYJIlzenFnoHUc&m=nrrSNDcnq0DATI4qf2zrUTNMu_m6wsOws_Oz0VoTjAU&s=aIs7iOEK4KMToKD_jb-tP9y5aOCs9wfSJ8tXHkjMU1U&e=


This email and any files transmitted with it from The Charles Machine Works,
Inc. are confidential and intended solely for the use of the individual or
entity to which they are addressed. If you have received this email in error
please notify the sender. Our company accepts no liability for the contents
of this email, or for the consequences of any actions taken on the basis of
the information provided, unless that information is subsequently confirmed
in writing. Please note that any views or opinions presented in this email
are solely those of the author and do not necessarily represent those of the
company. Finally, the recipient should check this email and any attachments
for the presence of viruses. The company accepts no liability for any damage
caused by any virus transmitted by this email.

This email and any files transmitted with it from The Charles Machine Works, Inc. are confidential and intended solely for the use of the individual or entity to which they are addressed. If you have received this email in error please notify the sender. Our company accepts no liability for the contents of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company. Finally, the recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160502/83e6e50d/attachment.html>


More information about the Interest mailing list