jni GetMethodID 多个参数
2013-09-13 08:55
337 查看
最近在做NDK开发
1。对于本地静态方法 public static native String getStr(); 对应C/C++代码,不需要加入static关键字。
2。对于静态方法。第二个参数:jclass. 表示调用类。
3。对于非静态方法。第二个参数 :jobject 表示类实例。
4。对于多个参数。好吧比如两个ini,那么就是:"(II)V"); 一个:"(I)V");
一下是例子
c/c++ 代码
JNIEXPORT jstring JNICALL Java_com_permadi_testjni_JNIDemo_getStr(JNIEnv *env,
jclass obj) {
jmethodID onMapSurfaceCreate = env->GetMethodID(obj, "fsum", "(II)V");
jobject mFileDescriptor = env->NewObject(obj, onMapSurfaceCreate);
env->CallVoidMethod(mFileDescriptor, onMapSurfaceCreate, 1, 2);
return env->NewStringUTF("I'm from C!");
}
java 代码:
import android.util.Log;
public class JNIDemo {
// 本地静态方法
public static native String getStr();
// 本地方法
public native int getCint(String str);
// 回调函数
private void fsum( int i, int j){
Log.e("aaaa", "aaaaa");
}
static {
System.loadLibrary("TestJni");
}
}
1。对于本地静态方法 public static native String getStr(); 对应C/C++代码,不需要加入static关键字。
2。对于静态方法。第二个参数:jclass. 表示调用类。
3。对于非静态方法。第二个参数 :jobject 表示类实例。
4。对于多个参数。好吧比如两个ini,那么就是:"(II)V"); 一个:"(I)V");
一下是例子
c/c++ 代码
JNIEXPORT jstring JNICALL Java_com_permadi_testjni_JNIDemo_getStr(JNIEnv *env,
jclass obj) {
jmethodID onMapSurfaceCreate = env->GetMethodID(obj, "fsum", "(II)V");
jobject mFileDescriptor = env->NewObject(obj, onMapSurfaceCreate);
env->CallVoidMethod(mFileDescriptor, onMapSurfaceCreate, 1, 2);
return env->NewStringUTF("I'm from C!");
}
java 代码:
import android.util.Log;
public class JNIDemo {
// 本地静态方法
public static native String getStr();
// 本地方法
public native int getCint(String str);
// 回调函数
private void fsum( int i, int j){
Log.e("aaaa", "aaaaa");
}
static {
System.loadLibrary("TestJni");
}
}
相关文章推荐
- java jni GetFieldID 和 GetMethodID 以及参数的说明
- [Android JNI开发]JAVA编译器的坑——GetStaticMethodID 找不到的另外一种可能
- DETECTED ERROR IN APPLICATION: JNI GetMethodID called with pending exception java.lang.NoSuchMethodE
- JNI之GetMethodID方法签名
- JNI GetMethodID called with pending exception java.lang.NoSuchMethodError
- unix下的jni使用指南(2)--如何使用GetFieldID和GetMethodID
- Android jni GetFieldID 和 GetMethodID 函数的说明
- java jni GetFieldID和GetMethodID说明(转)
- JNI: Passing multiple parameters in the function signature for GetMethodID
- unix下的jni使用指南(2)--如何使用GetFieldID和GetMethodID
- JNI学习1——Android jni GetFieldID 和 GetMethodID 函数的说明
- volley(4) 请求参数:data:[ { bar_remain:XX , bar_code:"XX" , bar_id: XX}], method:GET
- Android jni GetFieldID 和 GetMethodID 函数的说明
- Native method not found: com.baidu.platform.comjni.tools.JNITools.GetToken:()Ljava/lang/String;
- httpclient中getmethod方法的url参数如果含有中文的处理办法
- Java Web编程入门--错误信息“The method getUserById(int) of type UserServiceImpl must override a superclass”
- SAP 开发陷阱一箩筐(03)——无法创建 set/get 参数(参数 ID)
- Hibernate中get()方法和load()方法中参数id
- JNINativeMethod的参数解析
- volley(2) 参数code : or_barcode, pr_ismsd:false , method:GET