本文整理汇总了C++中JEnv::CallNonvirtualLongMethodA方法的典型用法代码示例。如果您正苦于以下问题:C++ JEnv::CallNonvirtualLongMethodA方法的具体用法?C++ JEnv::CallNonvirtualLongMethodA怎么用?C++ JEnv::CallNonvirtualLongMethodA使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JEnv
的用法示例。
在下文中一共展示了JEnv::CallNonvirtualLongMethodA方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CallJavaMethod
//.........这里部分代码省略.........
result = env.CallShortMethodA(callerJavaObject, mid, javaArgs);
}
args.GetReturnValue().Set(result);
break;
}
case MethodReturnType::Int:
{
jint result;
if (isStatic)
{
result = env.CallStaticIntMethodA(clazz, mid, javaArgs);
}
else if (isSuper)
{
result = env.CallNonvirtualIntMethodA(callerJavaObject, clazz, mid, javaArgs);
}
else
{
result = env.CallIntMethodA(callerJavaObject, mid, javaArgs);
}
args.GetReturnValue().Set(result);
break;
}
case MethodReturnType::Long:
{
jlong result;
if (isStatic)
{
result = env.CallStaticLongMethodA(clazz, mid, javaArgs);
}
else if (isSuper)
{
result = env.CallNonvirtualLongMethodA(callerJavaObject, clazz, mid, javaArgs);
}
else
{
result = env.CallLongMethodA(callerJavaObject, mid, javaArgs);
}
auto jsLong = ArgConverter::ConvertFromJavaLong(result);
args.GetReturnValue().Set(jsLong);
break;
}
case MethodReturnType::Float:
{
jfloat result;
if (isStatic)
{
result = env.CallStaticFloatMethodA(clazz, mid, javaArgs);
}
else if (isSuper)
{
result = env.CallNonvirtualFloatMethodA(callerJavaObject, clazz, mid, javaArgs);
}
else
{
result = env.CallFloatMethodA(callerJavaObject, mid, javaArgs);
}
args.GetReturnValue().Set((double) result); //TODO: handle float value here correctly.
break;
}
case MethodReturnType::Double:
{
jdouble result;
if (isStatic)
{
示例2: CallJavaMethod
//.........这里部分代码省略.........
result = env.CallShortMethodA(callerJavaObject, mid, javaArgs);
}
args.GetReturnValue().Set(result);
break;
}
case 'I': //int
{
jint result;
if (isStatic)
{
result = env.CallStaticIntMethodA(clazz, mid, javaArgs);
}
else if (isSuper)
{
result = env.CallNonvirtualIntMethodA(callerJavaObject, clazz, mid, javaArgs);
}
else
{
result = env.CallIntMethodA(callerJavaObject, mid, javaArgs);
}
args.GetReturnValue().Set(result);
break;
}
case 'J': //long
{
jlong result;
if (isStatic)
{
result = env.CallStaticLongMethodA(clazz, mid, javaArgs);
}
else if (isSuper)
{
result = env.CallNonvirtualLongMethodA(callerJavaObject, clazz, mid, javaArgs);
}
else
{
result = env.CallLongMethodA(callerJavaObject, mid, javaArgs);
}
auto jsLong = ArgConverter::ConvertFromJavaLong(result);
args.GetReturnValue().Set(jsLong);
break;
}
case 'F': //float
{
jfloat result;
if (isStatic)
{
result = env.CallStaticFloatMethodA(clazz, mid, javaArgs);
}
else if (isSuper)
{
result = env.CallNonvirtualFloatMethodA(callerJavaObject, clazz, mid, javaArgs);
}
else
{
result = env.CallFloatMethodA(callerJavaObject, mid, javaArgs);
}
args.GetReturnValue().Set((double) result); //TODO: handle float value here correctly.
break;
}
case 'D': //double
{
jdouble result;
if (isStatic)
{