[write-up] 2011-July-07 meeting - topic: Java part redesign

mingw android mingw.android at gmail.com
Fri Jul 8 11:51:34 CEST 2011

Thanks. Was going to ask for a log but this is better.
On Jul 8, 2011 10:45 AM, "Robert Schuster" <r.schuster at tarent.de> wrote:
> Hi guys,
> here is the write-up of yesterday's meeting. If you miss something feel
> free to add it as a reply to this mail. Interestingly the last meeting
> took place *exactly* a month ago. :)
> necessitas meeting 2011-July 6 - 7pm (GMT+2)
> location:
> #necessitas at irc.freenode.org
> attendees:
> BogDan Vatra - bog_dan_ro
> Ray Donnelly - mingwandroid
> Robert Schuster - rschus
> pcspets
> thp
> The meeting began a few minutes after the scheduled time and its sole
> purpose was to discuss and exchange ideas about the upcomming rework of
> the Java part. Prior to the meeting Robert Schuster had already
> posted[0] a drawing and an explanation of the Java part design on the
> project's mailinglist.
> Bogdan mentioned that he was generally OK with the approach and Robert
> just explained parts of the idea more in detail.
> pcspets wanted to know why the suggestion to write the activity
> completely in C++ is not being considered. While the approach is
> technically possible it automatically increases the minimum supported
> Android version to API level 9 (Android 2.3)[1] which at the moment a
> rather steep increase. At the time of this writing the market share for
> Android 2.2 is 59.4% and 17.5% for Android 2.1[2]. In other words, we
> would could ourselves of off most of our userbase. Robert remarked that
> changing to a complete native App wrapper has the potential to simplify
> the Application build process a bit but it must be made the sure that
> calling Android services works from the native side.
> There was also a question about the module called 'Bridge' in the
> description of the Java part design. pcspets wanted to know whether this
> is what needs to be implemented. Robert answered that this part indeeds
> needs to be implemented by the necessitas project but that most of it
> already exists and that that code only needs to be moved and made part
> of the Android-Qt build.
> The discussion then went on to the viability of implementing with as
> little Java as possible meaning that there might be quite a few JNI
> functions to be called. Robert explained that the Java and the C++ part
> should be considered like two sides of the same coin and that it is up
> to the person implementing both to find a design which is both efficient
> and maintainable. It was reiterated that future compatibility between
> the Java and C++ side is no concern with the proposed redesign because
> it becomes effectively an internal interface that we (= the project)
> have full control over.
> There was a discussion about using a very generic Java base class for
> all things QtMobility and how this can be used to call different native
> code. After finding out that the Java class contains a pointer to a C++
> object that we can cast to a known base class and then call a virtual
> method (which makes it call the most-specific variant) nobody saw a
> problem with implementing the 'general base class' idea. Robert said
> that in that case one only needs to register the class' native method
> once and do the arbitration via the C++ virtual method call.
> Robert and Bogdan agreed that the build process of Android-Qt needs to
> learn to:
> * compile Java classes against Android API
> * dexify the Java classes and create APK files
> For this to work the build will depend on a JDK and an Android SDK
> (*added by editor*: and a chosen acceptable minimum Android API level).
> Bogdan suggested the creation of a Wiki page[3] for the Java part rework
> effort. Robert agreed on putting all known information into this page.
> Work will begin July 8th.
> At the end of the meeting everyone had the impression that
> implementation problems do not exist anymore and that talking about the
> used techniques helped finding this out.
> A specific date for another meeting was not made. It is expected to be
> announced on the mailinglist when the need arises.
> A log of the meeting was posted here[4].
> References:
> [0] - http://mail.kde.org/pipermail/necessitas-devel/2011-July/000246.html
> [1] - http://developer.android.com/guide/appendix/api-levels.html
> [2] -
> http://developer.android.com/resources/dashboard/platform-versions.html
> [3] - http://community.kde.org/Necessitas/Java/Redesign
> [4] - http://paste.debian.net/122237/
> ---
> Hope you liked the write-up. :)
> Regards,
> Robert
> --
> tarent solutions GmbH
> Thiemannstr. 36 a, D-12059 Berlin • http://www.tarent.de/
> Tel: +49 30 5682943-30 • Fax: fax +49 228 52675-25
> Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
> Tel: +49 228 52675-0 • Fax: +49 228 52675-25
> HRB AG Bonn 5168 • USt-ID (VAT): DE122264941
> Geschäftsführer: Boris Esser, Elmar Geese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/necessitas-devel/attachments/20110708/7bcffe25/attachment-0001.htm 

More information about the Necessitas-devel mailing list