How to pass parameter between objects
Android 傳遞參數至 JNI的過程 傳遞 int, string, double, char, object 之類的資料型態到jni端,網路上有許多資料都是要去查JNI API文件,但真正麻煩的是關於object的資料型態(Signature)要怎麼處理,後來有找到一勞永逸的方法,只要透過Java JRE內建的指令 (javap),就可以將要使用的class的Signature全部都挖出來,使用方式如下:
先進入命令提示字元
先確認javap 能否使用,若無法使用的話,請先去網路上找相關文章
javap -s [object].class 的方式來查詢Signature,例如: javap -s envelope.class,會得到一些資訊,例如
public double parseNmeaLatitude(java.lang.String, java.lang.String); Signature: (Ljava/lang/String;Ljava/lang/String;)D
public supergis.runtime.sdk.definition.IGPSNmea parseNmeaSentenceToGPSNmea(jav a.lang.String) throws java.lang.SecurityException; Signature: (Ljava/lang/String;)Lsupergis/runtime/sdk/definition/IGPSNmea;
其中Signature:右方就是代表要在JNI內寫的程式碼。
JNI 解析從 Android 接收到的參數
JNI 回傳參數至 Android