O'Reilly logo

Android NDK Beginner's Guide - Second Edition by Sylvain Ratabouil

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Time for action – calling back Java from native code

Let's continue our Store by calling back the interface we defined from native code:

  1. In com_packtpub_store_Store.cpp, declare method descriptors with type jmethodID for each callback, which is going to be cached:
    ...
    static Store gStore;
    
    static jclass StringClass;
    static jclass ColorClass;
    
    static jmethodID MethodOnSuccessInt;
    static jmethodID MethodOnSuccessString;
    static jmethodID MethodOnSuccessColor;
    ...
  2. Then, cache all the callback descriptors in JNI_OnLoad(). This can be done in two main steps:

    Getting a Class descriptor with the JNI method FindClass(). One can find a class descriptor, thanks to its absolute package path, here: com./packtpub/store/Store.

    Retrieving a method descriptor from the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required