Autore Topic: Problema con Libreria jamod  (Letto 470 volte)

Offline riccardo.matta68

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung G. Ace
  • Sistema operativo:
    windows 7
Problema con Libreria jamod
« il: 15 Marzo 2014, 11:40:28 CET »
0
Buongiorno Ragazzi.
Ho un problema che mi sta facendo impazzire:
Sto realizzando un'applicazione che utilizza la lib. jamod che mette a disposizione un certo numero di classi per comunicare con il protocollo ModBus.
La sto sviluppando con Ecplipse e faccio il Debugging utilizzando un dispositivo reale (samsung Ice Android 2.3.3). Il tutto funziona bene.
Per puro caso ho provato l'App con il mio S4 con android 4.3 ma con questo non c'è maniera di faro funzionare si pianta ogni qualvolta tento di fare una connessione (uno dei metodi della jamod ). E' pensato che fosse un problema della Samsung e allora ho radunato tutti i miei dispositivi Android  ma pare che se supero la versione 2.2 non funzioni.
Ho allora messo mano al sorgente della  jamod e ho visto che quello che non gli va proprio giù è una chiamata al metodo connect() di java.net.Socket.
Sul Log leggo:
03-15 10:51:04.873: E/AndroidRuntime(7574): FATAL EXCEPTION: main
03-15 10:51:04.873: E/AndroidRuntime(7574): java.lang.NullPointerException: println needs a message
03-15 10:51:04.873: E/AndroidRuntime(7574):    at android.util.Log.println_native(Native Method)
03-15 10:51:04.873: E/AndroidRuntime(7574):    at android.util.Log.d(Log.java:155)

AIUTOOOOOOO!!!!

Offline riccardo.matta68

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung G. Ace
  • Sistema operativo:
    windows 7
Re:Problema con Libreria jamod
« Risposta #1 il: 22 Marzo 2014, 17:41:02 CET »
0
 ;-) ;-) ;-)Finalmente ho risolto dopo una settimana di prove e notti in bianco (si dice sempre cosi)ho trovato il problema.
Dalla versione 3.0 in su di Android se si tenta di far eseguire delle operazioni gravose come quelle di rete (la creazione del Socket mi diceva qualche cosa ma non ne venivo a capo) sul main Thread  il sistema lancia android.os.NetworkOnMainThreadException facendo un down di tutte le operazioni in corso. Ci sono varie soluzioni a questo che ora sto vagliando una è quella di usare la Classe AsyncTask.