Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Status
titleJAVA

Status
colourYellow
titleC++

public class Database{

public static void AddPairAddName( String key id , String value name );

}

CFxJavaString key( L"Id0" );
CFxJavaString value( L"2022John Doe" );

CFxStaticInvocation invocation( “com/domain/Database“ , “AddPair” “AddName” , “(Ljava/lang/String;Ljava/lang/String;)V” );

invocation.Call( true, key.GetJString() , value.GetJString() );

public class Database{

public static void SetNames( String[] names );

}

jclass stringClass = GET_JAVA()->FindClass( "java/lang/String" );
CFxJavaObjectArray names( length, stringClass );

CFxJavaString name( “Name“ “John Doe“ );
names.SetElement( 0, name.GetStrongJString() );

CFxStaticInvocation invocation( “com/domain/Database“ , “SetNames” , “(Ljava/lang/String;)V” );

invocation.Call( true, names.GetJObject() );

...

Status
titleJAVA

Status
colourYellow
titleC++

public class Database{
public static native String GetName( int id );

}

String name = Database.GetName(10);

JNIEXPORT jstring JNICALL Java_com_domain_Database_GetName( JNIEnv * env, jclass clazz, jint id )
{

CFxJavaString name( L"John Doe" );
return name.GetStrongJString();
}

public class Database{
public static native String[] GetNames();

}

String[] pair names = Database.GetNames();

JNIEXPORT jobjectarray JNICALL Java_com_domain_Database_GetPairGetNames( JNIEnv * env, jclass clazz )
{
jclass stringClass = GET_JAVA()->FindClass( "java/lang/String" );
CFxJavaObjectArray names( layouts.size(), stringClass );

CFxJavaString name1name( “John Doe“ );
CFxJavaString name2( “Mr. Allister“ );
names.SetElement( 0, name1.GetStrongJString() );
names.SetElement( 1, name2name.GetStrongJString() );

return reinterpret_cast<jobjectArray >( names.GetStrongJObject() );
}

...