在学习过调用原生函数来返回字符串以后,开始学习在原生方法中调用java中的资源,包括int型数据,string型数据,Array数组,object对象和class类,下面以此介绍。
1、调用int型数据
int型数据是最常用的数据类型之一,所以我从调用int型数据入手学习,非常简单
首先在MainActivity中声明本地方法
public native int intFromJNI();
注意返回值为int型即可,然后在.cpp文件中依照规则,编写本地方法名和方法内容
extern "C"
JNIEXPORT jint JNICALL
Java_com_seuic_ndkstudy_MainActivity_intFromJNI(
JNIEnv *env,
jobject this )
{
return 1;
}
注意返回类型为jint,这是jni层和java中int的对应类型。
最后在MainActivity中使用TextView组件显示返回结果即可
TextView tv1 = (TextView) findViewById(R.id.sample_text);
tv1.setText(intFromJNI()+"");
在应用中可以显示返回值为1
2、调用string型数据
同样,先声明本地方法
public native String stringFromJNI(String prompt);
然后编写本地方法
extern "C"
JNIEXPORT jstring JNICALL
Java_com_seuic_ndkstudy_MainActivity_stringFromJNI(
JNIEnv *env,
jobject this ,
jstring prompt)
{
const char