[Interest] Qt interfacing to Android native UI ?

ekke ekke at ekkes-corner.org
Tue May 3 06:38:51 CEST 2016


my goal is to be ready with my blog series when Qt 5.7 comes out -
so expect the next 4-6 weeks many articles and also some sample apps

ekke
Am 02.05.16 um 20:50 schrieb Robert Iakobashvili:
> Dear Ekke,
> Thank you for sharing your experience with
> qt.labs.controls Qt Quick Controls2 in 5.7.
>
> Sure, we'll be reading you blog.
>
> Kind regards,
> Robert
>
>
> On Mon, May 2, 2016 at 8:38 PM, ekke <ekke at ekkes-corner.org> wrote:
>> I really like the new qt.labs.controls from Qt 5.6 (will become Qt Quick
>> Controls2 in 5.7)
>> using these lightweight controls together with Material Style (Android) or
>> Universal Style (Windows) with light or dark themes and all the new Controls
>> (like Drawer) for mobile-app-navigation and also HighDPI Support you can now
>> first time ever develop mobile apps with nearly native feeling. (iOS style
>> will come later when the new controls are stable)
>>
>> I prefer to write UI in QML compared with React Native's mix of Markup and
>> JS or using Xamarin where you have one language but different code for
>> x-platform.
>>
>> Before leaving QT for mobile apps - give it a try.
>> BTW: I'm writing a blog series about my experiences http://j.mp/qt-x  and
>> I'll develop - as proof of concept - Conference APPs for QtCon and Qt World
>> Summit.
>>
>> ekke
>>
>> Am 02.05.16 um 20:17 schrieb Robert Iakobashvili:
>>
>> Dear Edward,
>> React Native - good catch.
>>
>> Thank you so much for sharing this idea
>> and your experience!
>>
>> Kind regards,
>> Robert
>>
>>
>> On Mon, May 2, 2016 at 8:08 PM, Edward Sutton <edward.sutton at subsite.com>
>> wrote:
>>
>> On May 1, 2016, at 4:27 AM, Robert Iakobashvili <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>
>> 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> 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> 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>
>> 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
>> 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.
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>>
>>
>> --
>>
>> ekke (ekkehard gentz)
>>
>> independent software architect
>> international development native mobile business apps
>> BlackBerry 10 | Qt Mobile (Android, iOS)
>> workshops - trainings - bootcamps
>>
>> BlackBerry Elite Developer
>> BlackBerry Platinum Enterprise Partner
>>
>> max-josefs-platz 30, D-83022 rosenheim, germany
>> mailto:ekke at ekkes-corner.org
>> blog: http://ekkes-corner.org
>> apps and more: http://appbus.org
>>
>> twitter: @ekkescorner
>> skype: ekkes-corner
>> LinkedIn: http://linkedin.com/in/ekkehard/
>> Steuer-Nr: 156/220/30931 FA Rosenheim, UST-ID: DE189929490
>>
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>




More information about the Interest mailing list