Ho dei problemi ad utilizzare codice java nativo in B4J.
Non riesco a gestire variabili da e verso il codice java.
Per essere più chiaro non riesco a passargli il valore di una mia variabile e non riesco a fare il contrario cioè leggere una variabile utilizzata dentro il codice java.
Ho cercato info nel forum ma non ho trovato risposte.
Ovviamente faccio la chiamata al codice java con l'array che ha dentro le variabili.
sinceramente non so nulla di codice java nativo e nemmeno di B4J ma se non riesci ad accedere direttamente alle variabili secondo me dovresti fare una SUB che legga la variabile e una SUB che la scrive, così (penso) tu ci possa accedere
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
'Activity.LoadLayout()
Dim a, b As Int
a = 5
b = 6
Dim jo As JavaObject
jo.InitializeContext
Log("Passo due parametri e ricevo il risultato: " & jo.RunMethod("Moltiplica", Array( a, b)))
End Sub
#If Java
public int Moltiplica(int a, int b) {
int c = a * b;
return c;
}
#End If
Di conseguenza nella finestra di Log riceverai "Passo due parametri e ricevo il risultato: 30" ( Se non ricordo male le moltiplicazioni ).
Quindi per ritornare il valore dalla funzione Java avresti potuto scrivere:
B4X:
Dim risultato as Int
risultato = jo.RunMethod("Moltiplica", Array( a, b))
Log(risultato) ' ---> 30 nel nostro esempio