Italian [B4J] Gestire codice nativo Java

pixet

Member
Licensed User
Longtime User
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.

Qualcuno ha qualche idea in proposito.

Grazie


Rob
 

sirjo66

Well-Known Member
Licensed User
Longtime User
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
 

LucaMs

Expert
Licensed User
Longtime User

pixet

Member
Licensed User
Longtime User
Grazie per le risposte e per i suggerimenti,
darò un occhiata ai link suggeriti.

Grazie

Rob
 

MarcoRome

Expert
Licensed User
Longtime User
Grazie per le risposte e per i suggerimenti,
darò un occhiata ai link suggeriti.

Grazie

Rob

B4X:
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 :D ).
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
 
Last edited:

pixet

Member
Licensed User
Longtime User
Grazie MarcoRome,
ci lavoro un po e poi vi aggiorno.

Grazie
Rob
 
Top