Android JNI之数据类型
Posted 行走的段子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android JNI之数据类型相关的知识,希望对你有一定的参考价值。
JNI中数据类型的意义在于桥接Java数据类型与C数据类型。
简单数据类型:
引用类型:
特征类型(Signatures):
看到Signatures是不是有点眼熟,在我的Android JNI之静态注册中一带而过的javah自动生成头文件,注意看javah不仅完成了方法名的转换,而且在方法注释中标注了该方法的Signature,下面说一下这个对应关系。
Type Signature
|
Java Type
|
---|---|
Z
|
boolean
|
B
|
byte
|
C
|
char
|
S
|
short
|
I
|
int
|
J
|
long
|
F
|
float
|
D
|
double
|
L fully-qualified-class ;
|
fully-qualified-class
|
[ type
|
type[]
|
( arg-types ) ret-type
|
method type
|
举个例子,对于Java方法
long f (int n, String s, int[] arr);
其对应的特征值就是(ILjava/lang/String;[I)J
PS:这个特征值在动态注册的时候很重要,这关系到你在Java类中声明的native方法能否正确找到对应的native方法
以上是关于Android JNI之数据类型的主要内容,如果未能解决你的问题,请参考以下文章