Android C 通过JNI 调用JAVA
来源:互联网 发布:sqlite 数据库锁定 编辑:程序博客网 时间:2024/06/11 20:50
花了一天的时间去学习Android 中C 通过JNI 调用JAVA的方法,记录下来,以便以后用到。
C 通过JNI 调用JAVA可分为2种情况
1,调用JAVA中的对象,通过对象调用方法。
步骤:
该文件中需要把Java中的类映射到C中
把类的方法映射到C中
新建类对象
调用方法
2,调用JAVA中的静态方法,静态方法是属于类的。
关键代码,有详细注释
jclass calljclass;calljclass=env->FindClass("com/example/ndktest/CcallJavaClass");//获取类jmethodID constructorID;//得到构造函数的IDconstructorID=env->GetMethodID(calljclass,"<init>","()V");//得到构造函数的IDjobject callobject=env->NewObject(calljclass,constructorID);//第一个参数,calljclass表示创建哪个类的实例。//第二个参数,constructorID表示用哪个构造函数创建该类的实例。jmethodID instanceMethodID;instanceMethodID=env->GetMethodID(calljclass,"instanceMethod","()I");jint instanceResult;instanceResult=env->CallIntMethod(callobject,instanceMethodID);jmethodID staticMethodID;//获取类的静态方法ID;staticMethodID=env->GetStaticMethodID(calljclass,"staticMethod","()I");jint methodResult;//通过方法ID调用方法methodResult =env->CallStaticIntMethod(calljclass,staticMethodID);if(instanceResult==10)return env->NewStringUTF("CcallJavaClass instance");//if(methodResult==20)//return env->NewStringUTF("CcallJavaClass static");
0 0
- Android C 通过JNI 调用JAVA
- Android JNI 通过C/C++调用JAVA方法
- Android JNI C调用Java
- java通过jni调用C程序
- Java通过JNI调用C/C++函数
- JAVA通过JNI调用C函数Demo
- java通过jni调用c库
- Java通过JNI调用C语言
- Java 通过 JNI 调用 C/C++ 类库
- Java通过jni调用c语言方法
- Android JNI通过C++调用JAVA
- Android JNI通过C++调用JAVA
- cocos2dx通过Jni调用Android的Java
- Android JNI通过C++调用JAVA
- Android JNI通过C++调用JAVA
- JNI小程序:Java通过JNI调用C程序
- android使用c通过jni回调java
- Android开发 通过JNI实现JAVA与C/C++程序间的调用和回调
- java IO流
- 关于对java可移植性的简单理解
- sql记录
- 输出一个字符串中重复出现的子串和其出现的次数(JS实现)
- UVA OJ: 10055 - Hashmat the Brave Warrior
- Android C 通过JNI 调用JAVA
- 2014最新的淘宝客网站SEO操作方法
- SDK Manager update 消除SDK更新时的“https://dl-ssl.google.com refused”错误
- Hash表
- Java Web开发环境搭建
- 关于抽象
- Google CodeJam Qualification Round 2014
- python产生随机数,随机字符串
- 堆、栈、自由存储区、全局/静态存储区和常量存储区