android jni

13 篇文章 0 订阅
9 篇文章 0 订阅

例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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值