Italian Bluetooth

Angelo Messina

Active Member
Licensed User
Longtime User
Salve non so come fare :
Ho già preparato una piccola App che legge dati da un device Bluetooth benissimo fa il suo dovere alla grande, ma devo inserirla in una App che usa questi dati prelevati da Bluetooth
non so come fare ad inglobare la prima nella seconda

Praticamente si inserire una sub che legge da questo modulo
 

MarcoRome

Expert
Licensed User
Longtime User
Angelo non ho capito nulla....
"che legge dati da un device Bluetooth" devi inserire ?? che cosa, che vuol dire ...inglbare la prima nella seconda...cosa sono due app differenti ??
Quando chiedi aiuto cerca di dare più dettagli possibili, altrimenti il primo lavoro diventa quello di interpretare cosa vuoi dire
 

Angelo Messina

Active Member
Licensed User
Longtime User
scusami per la poca chiarezza:
quello che ho già funzionante e un programma di un solo modulo che legge dati da Bluetooth

Sub AStream_NewData (Buffer() As Byte)

DatiLetti=(BytesToString(Buffer, 0, Buffer.Length, "UTF8"))
LogMessage(DatiLetti)

End Sub
Sub LogMessage( Contenuto As String )
'ToastMessageShow("Lettura dal " & MyDeviceName & Contenuto,False)
ToastMessageShow(Contenuto,False)
End Sub
 

MarcoRome

Expert
Licensed User
Longtime User
Quindi se ho ben capito hai bisogno di due activity.... la prima preleva il dato e lo passa alla seconda ?
 

Angelo Messina

Active Member
Licensed User
Longtime User
questo modulo si collega ad un termometro Bluetooth e preleva temperature e questa app da sola funziona

questo modulo che ho devo inserirlo all'interno di un'altra App deve prelevare i valori posti su DatiLetti
 

Angelo Messina

Active Member
Licensed User
Longtime User
solo che la prima activity deve girare sempre per prelevare dati dal temometro mentre l'altra deve interogarla quando gli servono le temperature
 

MarcoRome

Expert
Licensed User
Longtime User
Quindi sono due app differenti ...o sono due activity differenti ???
 

MarcoRome

Expert
Licensed User
Longtime User
In sostanza vuoi un'app che abbia entrambi le cose.
Quindi uno dovrà essere un servizio, l'altro un'activity per visualizzare i dati.
Puoi inserire il codice che preleva i dati in un servizio ( in modo che lo stesso potrà girare anche in background )...fatto questo quando leggi i valori puoi passarle a una o più variabili contenute nel module Starter.
E l'activity che deve visualizzare i valori potrà leggere questi dati.
 

Angelo Messina

Active Member
Licensed User
Longtime User
quindi il servizio lo lancio da dentro starter

Sub Service_Start (StartingIntent As Intent)
qua....
End Sub

chiamando per intero il modulo LeggiTermometro
 

Angelo Messina

Active Member
Licensed User
Longtime User
e su starter

Sub Process_Globals
Public csu As CallSubUtils
Public DatiLetti As String
End Sub

del Modulo LeggiTemperature

Sub AStream_NewData (Buffer() As Byte)

DatiLetti=(BytesToString(Buffer, 0, Buffer.Length, "UTF8"))
 

MarcoRome

Expert
Licensed User
Longtime User
Il servizio lo puoi lanciare dalla Main.

B4X:
StartService(nomedelservizio)

Nel servizio, se vuoi che lo stesso parta automaticamente quando il cellulare viene acceso ( ad esempio se hai necessità id inviare un warning se si supera una cerca temperatura o altro ) puoi aggiungere ( vedi prima riga ):

B4X:
#StartAtBoot: True

Il codice del termometro che preleva i dati lo copi nel servizio. Le variabili dei valori le dichiari nel modulo Starter e attraverso gli stessi puoi leggere o scrivere le stesse ( quindi nel servizio le scriverai, nella activity le leggerai ).

Oppure senza usare le variabili di Starter puoi richiamare dal servizio direttamente una CallSub2
B4X:
CallSub2(SmartStringFormatter, "vedi_risultato", valore_temparatura )

In questo caso verrà aperto il modulo Main se in backgrouno o chiuso, andrà nella sub "vedi_risultato" a cui passerai la variabile valore_temperatura...quindi tipo:

B4X:
Sub vedi_risultato (temperatura As Int )
    Msgbox(temperatura, "Messaggio")
End Sub
 

Angelo Messina

Active Member
Licensed User
Longtime User
Il fatto è che sono stato coinvolto in questo progetto con consegna breve, quindi tutto di corsa e soprattutto senza che abbia mai
scritto nulla per Android per questo ha scelto B4 che mi sta coinvolgendo tantissimo.

Comunque ti chiedo scusa tanto.
Il libro su amazon ci sarà certamente.
 
Top