HardBirch

JNI学习之步步深入三

时间:11-05-25 栏目:安卓学习笔记 作者:张飞不张,文采横飞 评论:4 点击: 2,093 次

上一篇中,学习了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端。

 

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

 

 

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: JNI学习之步步深入三

JNI学习之步步深入三:目前有4 条留言

  1. 4楼
    polokang:

    难道是传说中的沙发![e01]

    2011-05-26 09:08 [回复]
  2. 地板
    rocky225:

    [e01][e01][e01][e01][e01]

    2011-05-31 11:53 [回复]
  3. 板凳
    tsk:

    输出有乱码

    2011-06-04 13:08 [回复]
  4. 沙发
    synwith:

    这个Prompt文件貌似是JNI Guide的第一个实例。

    2011-07-12 12:57 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐