[转]C++和JNI的数据转换(三)
来源: http://www.cnblogs.com/daniel-shen/archive/2006/10/16/530587.html
?
Java 测试native代码
这没有什么多说的,看代码吧
//主测试程序
????public?static?void?main(String[]?args)?{
????????ChangeMethodFromJni?changeJni?=?new?ChangeMethodFromJni();![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????//输入常用的数值类型(string?int?boolean)
????????System.out
????????????????.println("------------------输入常用的数值类型(string?int?boolean)-----------");
????????changeJni.displayParms("Hello?World!",?100,?true);![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????//调用一个静态方法
????????System.out.println("------------------调用一个静态方法-----------");
????????int?ret?=?changeJni.add(12,?20);
????????System.out.println("The?result?is:?"?+?String.valueOf(ret));![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????//输入一个数组
????????System.out.println("------------------输入一个数组-----------");
????????boolean[]?blList?=?new?boolean[]?{?true,?false,?true?};
????????changeJni.setArray(blList);![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????//返回一个字符串数组
????????System.out.println("------------------返回一个字符串数组-----------");
????????String[]?strList?=?changeJni.getStringArray();
????????for?(int?i?=?0;?i?<?strList.length;?i++)?{
????????????System.out.print(strList[i]);
????????}
????????System.out.println();![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????System.out.println("------------------返回一个结构-----------");![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????//返回一个结构
????????DiskInfo?disk?=?changeJni.getStruct();
????????System.out.println("name:"?+?disk.name);
????????System.out.println("Serial:"?+?disk.serial);![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????//返回一个结构数组![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????????System.out.println("------------------返回一个结构数组?-----------");
????????DiskInfo[]?diskList?=?changeJni.getStructArray();
????????for?(int?i?=?0;?i?<?diskList.length;?i++)?{
????????????System.out.println("name:"?+?diskList[i].name);
????????????System.out.println("Serial:"?+?diskList[i].serial);
????????}![[转]C++跟JNI的数据转换(三)](http://img.reader8.net/uploadfile/jiaocheng/20140133/2743/2014012702430548220.gif)
????}