android jni
例1:
**********************************************
jstring Jni_getChannelESG(JNIEnv* env, jobject thiz)
{
int result;
LOGD("Jni_getChannelESG");
result = getChannelESG();
jstring esgString =env->NewStringUTF(getEsgFile());
return esgString;
}
static jint Jni_initAsyncData(JNIEnv* env, jobject thiz)
{
LOGD("Jni_initAsyncData");
int result = InitAsyncData();
return result;
}
static void Jni_setPreviewDisplay(JNIEnv *env, jobject thiz, jobject jSurface)
{
LOGD("Enter Func: %s, Line: %d", __FUNCTION__, __LINE__);
sp<Surface> spSurface = NULL;
if (jSurface != NULL) {
spSurface = reinterpret_cast<Surface*>(env->GetIntField(jSurface, fields.surface));
}
initEngineOverlay(spSurface);
LOGD("Leave Func: %s, Line: %d", __FUNCTION__, __LINE__);
}
static JNINativeMethod gMethods[] = {
{
"setCurrentValue",
"(I)V",
(void *)Jni_setCurrentValue
},
{
"getChannelESG",
"()Ljava/lang/String;",
(void *)Jni_getChannelESG
},
{
"setPreviewDisplay",
"(Landroid/view/Surface;)V",
(void *)Jni_setPreviewDisplay
},
};
*****************************************************
public native void setPreviewDisplay(Surface surface);
public native int initAsyncData();
public native String getChannelESG();
*****************************************************
参考文章
http://my.unix-center.net/~Simon_fu/?p=833
http://my.unix-center.net/~Simon_fu/?p=836
http://blog.chinaunix.net/u3/113547/showart_2212838.html
更多相关文章
- android博客导航总结,以及个人常用android免费学习干货(文章,视频,矢
- Android中显示照片的Exif信息
- Android(安卓)4.0 Ice Cream Sandwich 正式发表!
- Android面试系列2018总结(全方面覆盖Android知识结构)
- Ubuntu环境下Android源码下载及编译方法
- android嵌套滑动- Material Design
- Android(安卓)DownloadManager下载完成事件监听(系列4)
- Android入门-页面跳转
- CSDN Androidclient生产 导航帖