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 ...

Get Android NDK Beginner's Guide - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.