There is no "official" API for calling back into Java from iOS, but that doesn't mean you can't do it. CN1 uses XMLVM to translate java to C on iOS so if you following the naming conventions for the conversions of your methods, you can call your converted Java methods directly from C. Of course if you rely on this stuff, your code will be dependent on their XMLVM back-end so may break if they ever decide to change to a different technology for the iOS back end. Luckily I wouldn't expect them to be changing that any time soon.
A brief primer of XMLVM naming conventions.
1. Classes are converted to .h and .c pairs with names your_full_class_name.h and your_full_class_name.c (e.g. java.util.Vector is converted to java_util_Vector.h and java_util_Vector.c).
2. Methods are converted to the form classname_methodname___argtypes(arg1, arg2, etc...).
An example of a callback can be found in my sockets library. I created a static method (because static methods are easiest to call) called ca.weblite.codename1.io.Socket.getBuffer(int) which returns a byte array that can be used as the buffer for the socket.
So, in order to call this method from iOS, I have to do 2 things.
1. I import the xmlvm.h and ca_weblite_codename1_io_Socket.h header files in my native implementation's header:
2. Call my static method from C:
org_xmlvm_runtime_XMLVMArray* byteArray = ca_weblite_codename1_net_Socket_getBuffer___int(bufferId);
XMLVM provides a few macros for types. E.g. JAVA_OBJECT, JAVA_BOOLEAN, JAVA_INT, etc.. You can see the defines here
A good place to see examples of interacting with XMLVM is in the CodenameOne IOS Port itself. Especially this file:
One difficult thing about developing in iOS for CodenameOne is that you need to send a build to find out if you have an error. If you're doing simple things it might be worth doing a few build cycles and rummaging through the error logs to find your mistakes, but it might be easier to produce a build using "Include source" which will allow you download your project as an Xcode project - then edit your native C implementation as necessary to do what you want - and copy and paste into your Netbeans project source when you have it right.
Steve