`
7090
  • 浏览: 273399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jni文件传递方法参数

 
阅读更多
使用jni从java传递多个参数到c++时,如果是多个参数,当是string类型时,参数之间用;分割
	void sendToAndoridAdmobId(const char* id)
	{
		JniMethodInfo methodInfo;

														 
		if (!JniHelper::getStaticMethodInfo(methodInfo, JavaTool_ClassName, "setDomobUnitId", "(Ljava/lang/String;)V"))
		{
			return;
		}
		jstring l_stringUrl = methodInfo.env->NewStringUTF(id);
		methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, l_stringUrl);
		methodInfo.env->DeleteLocalRef(methodInfo.classID);		
		
	}


对应的java代码

	 public static void  setDomobUnitId(String id)
	 {
		 JavaTool.DOMOB_UNIT_ID = id;
	 }


但是如果是int类型,就直接挨在一起写了
	void sendToAndoridWidthHeight(int width ,int height)
	{
		JniMethodInfo methodInfo;


		if (! JniHelper::getStaticMethodInfo(methodInfo, JavaTool_ClassName, "sendToAndroidWidthHeight", "(II)V"))
		{			
			return;
		}

		
		methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, width,height);
		methodInfo.env->DeleteLocalRef(methodInfo.classID);
	}	

对应的java代码

	 public static void  sendToAndroidWidthHeight(int width , int height)
	 {
		 JavaTool.width = width;
		 JavaTool.height = height;
	 }



可以用javap   -s   -p   yourclassname 这个命令得到内部类型签名
分享到:
评论

相关推荐

    JNI 传递和返回基本参数

    本文件是 JNI 传递和返回基本参数的 Demo,详细介绍见博客:https://blog.csdn.net/u011520181/article/details/79765336,无法资源分设置 0 分,也可以去博客下面的 github 地址下载

    java jni 传递汉字参数,包括 in out

    java jni 传递汉字参数,包括java传入dll 从dll传出到java 包括全部 java 代码 工程文件 全部vc++6.0 Dll 代码 工程文件 找了好久资料才完成的,传上来省的大家再走弯路。

    java jni 传递汉字参数,读写ini

    java jni 传递汉字参数,包括java传入dll 从dll传出到java 读写ini 包括全部 java 代码 工程文件 全部vc++6.0 Dll 代码 工程文件 找了好久资料才完成的,传上来省的大家再走弯路。

    JNI 调用(包含复杂对象传参)

    实现了jni 中java向vc dll传递list参数/String参数 对象的接口。vc代码可用vc6.0运行编译,java调用接口在src\common\CameraUtil.java里面。测试了好久才实现的(涉及到项目机密,部分资源文件没有上传,内部方法是...

    JNI完全技术手册 带完整书签

    Chap7:Jni中C++和Java的参数传递... 33 Chap8:如何将java传递过来的jbyteArray转换成C/C++中的BYTE数组... 47 Chap5:使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能... 47 Chap9:如何编写jni方法(转载...

    JNI调用大全

    Chap7:Jni中C++和Java的参数传递... 33 Chap8:如何将java传递过来的jbyteArray转换成C/C++中的BYTE数组... 47 Chap5:使用JNI技术实现java程序调用第三方dll(c/c++)文件的功能... 47 Chap9:如何编写jni方法(转载).....

    JNI技术手册 c/c++调用java

    2) 如何将java传入的String参数转换为c的char*,然后使用? 57 3) 将c中获取的一个char*的buffer传递给java? 57 4) 不知道占用多少空间的buffer,如何传递出去呢? 58 五、 对JAVA传入数据的处理 58 1) 如果传入的是...

    JNI应用实例(java、C++互调)

    实例1: 1)使用javah 生成.h文件 2)根据.h文件,编写.cpp源程序。 实例2: 1)演示了java调用c++,以及c++调用java。 2)java 与 c++ 间,通过复杂数据类型(Vector)作为参数来传递数据。

    Jnative-1.3.2及心得

    由于项目要求,需要用Java调用windows的dll文件,查了一下,如果用JNI的话是比较麻烦的,在sourceforge.net上搜索了一下“Java dll”,首先出现的是Jnative,...l 如何给使用的方法传递参数; l 如何获取返回的值。

    JNative_1.4RC3_src

    由于项目要求,需要用Java调用windows的dll文件,查了一下,如果用JNI的话是比较麻烦的,在sourceforge.net上搜索了一下“Java dll”,首先出现的是Jnative,...l 如何给使用的方法传递参数; l 如何获取返回的值。

    Lua解析器mLua.zip

    只有在start方法执行前,设置的数据才会生效start(String)启动lua解析器,传递的参数表示lua代码的入口文件stop()停止lua解析器并释放资源除此之外,JavaFunction也是使用者可能需要用到的接口。它表示一个lua函数的...

    Android开发艺术探索.任玉刚(带详细书签).pdf

    14.4 JNI调用Java方法的流程 486 第15章 Android性能优化 489 15.1 Android的性能优化方法 490 15.1.1 布局优化 490 15.1.2 绘制优化 493 15.1.3 内存泄露优化 493 15.1.4 响应速度优化和ANR日志分析 496 ...

    Android开发艺术探索

     14.4 JNI调用Java方法的流程 / 486  第15章 Android性能优化 / 489  15.1 Android的性能优化方法 / 490  15.1.1 布局优化 / 490  15.1.2 绘制优化 / 493  15.1.3 内存泄露优化 / 493  15.1.4 响应速度优化和...

    Android powermanger wakelock

    上面 这个函数调用Power类 里面的 acquireWakeLock(),此时的PARTIAL_NAME作为参数传递到底层去。 public static native void nativeAcquireWakeLock(int lock, String id); 注:在PowerManagerService 类中没有...

    android开发艺术探索高清完整版PDF

    / 484 14.4 JNI调用Java方法的流程 / 486 第15章 Android性能优化 / 489 15.1 Android的性能优化方法 / 490 15.1.1 布局优化 / 490 15.1.2 绘制优化 / 493 15.1.3 内存泄露优化 / 493 15.1.4 响应速度优化和...

    source.zip

    33_为应用添加多个Activity与参数传递.avi 所在项目:MulActivity 34_Activity的启动模式.avi 所在项目:LaunchMode & openSingleInstance & singleInstance 35_Intent深入解剖.avi 所在项目:Intent 36_Activity...

    8天快速掌握Android教程源码

    33_为应用添加多个Activity与参数传递.avi 所在项目:MulActivity 34_Activity的启动模式.avi 所在项目:LaunchMode & openSingleInstance & singleInstance 35_Intent深入解剖.avi 所在项目:Intent 36_Activity...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

Global site tag (gtag.js) - Google Analytics