My Android project nearing beta
Adam D. Ruppe
destructionator at gmail.com
Mon Jan 6 17:29:46 UTC 2020
On Monday, 6 January 2020 at 17:18:46 UTC, visitor wrote:
> hum ... indeed most of the native samples in android are using
> java helper classes
Yeah, the NativeActivity is I think the only one that doesn't
(and that's just because Google provides a pre-built helper java
class).
But I'm personally OK with that; reusing the platform as much as
we can is a strength of D, it doesn't have to be all one thing. A
little bit of Java gives you hooks into the IDE and stuff and
isn't that much work; you can still reuse the majority of a D
core.
> do you still plan to add the ability to create java classes in
> D for non-android projects ?
yes. I might not get around to it for a little while and it will
very possibly be opt-in with a -version thing (right now I call
it WithClassLoadSupport - creating a class would use the same
code to work with the binary format). But I do want to do it.
Another challenge would be syntax. D does lambdas and anonymous
inner classes... but they probably won't get the magic on them.
It may end up being a helper template, so you'd be like
JavaLambda!InterfaceName( a => whatever );
or something like that. I still need to think more about it.
> also in this project i made "GlobalRef"s to reuse java objects
> / classes - thanks for warmly warning about the possible
I plan to address this later too. Probably all return values will
conservatively get the global ref unless you declare it as like
`Manual!T` instead, which then wraps it for you and uses the type
system to determine what needs to be it.
(if you look at the comments of jni.d you can see a lot of my
notes to self about problems and possible future directions. Not
all of them actually work out, but it gives you some view into
what's in my brain.)
> (btw, though good to know the trick, in fact i don't need the
> sourceSets instruction for the jniLibs, i forgot to put the
> library in the right subfolder ... "x86" or "armeabi-v7a",
> etc...)
excellent.
More information about the Digitalmars-d-announce
mailing list