JNI学习之步步深入三

来源:互联网 发布:eclipse格式化js代码 编辑:程序博客网 时间:2024/06/09 22:47

上一篇中,学习了jni中的类型映射关系。本篇就一个简单点的实例来看看java端的类型,如何被C端识别。同时,在C端实现定义的一个类型

如何传递到java端。本篇以String类型为例,看看java端的unicode编码的String类型如何和C端utf-8编码的char*类型进行交互!

 

hh

 

 

1、首先,在java端写一个Prompt类:其中定义一个getLine方法,他含有一个String类型的参数,同时,返回String类型。

 

2、生成头文件,这里略。。。

 

3、编写C端:讲解在注释中了

 

可以看到,在生成的本地方法中,原来的String类型的prompt被替换成了jstring。jni提供了GetStringUTFChars方法供我们,将jstring读取到本地。同时提供了NewStringUTF方法,让我们将本地的类型传递到java端。

 

同理,对于其他的类型,比如数组等,操作也是类似,只是所使用的方法不同而已。

 

 

原创粉丝点击