Autore Topic: Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP  (Letto 2271 volte)

Offline ariostoi

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    xperia ray
  • Sistema operativo:
    win7
Ciao a tutti, ho bisogno di scaricare sulla mia app android una fotografia che risiede su un server web fatto in Java.
Per la comunicazione tra client e server sto usando ksoap2.. qualcuno sa come si infilano i file dentro i messaggi soap?

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #1 il: 30 Luglio 2010, 09:43:29 CEST »
0
Ciao a tutti, ho bisogno di scaricare sulla mia app android una fotografia che risiede su un server web fatto in Java.
Per la comunicazione tra client e server sto usando ksoap2.. qualcuno sa come si infilano i file dentro i messaggi soap?

Generalmente i file immagine nei webservice si trasmettono come stringa codificata in base64.
Android integra il supporto nativo al'encoding/decoding in questo formato solo dalla versione 2.2 percui devi ricorrere a una libreria di terze parti. Io ho utilizzato questo tutorial: How to base64 encode decode Android | Android Code Monkey

Il discorso dovrebbe essere analogo anche con file generici poichè vai a fare l'econding di un array di byte percui non dovrebbero essere problemi di formato file.
In ambito android otrebbero esserci problemi legati a performances / utilizzo di memoria (non ci vule molto per riempire la memoria della vm), se si tratta di file grandi io intraprenderi altre strade.
« Ultima modifica: 30 Luglio 2010, 10:01:13 CEST da Ricky` »

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #2 il: 30 Luglio 2010, 11:18:37 CEST »
0
in alternativa, non ti converrebbe usare soap per ricevere i link ai files?

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #3 il: 30 Luglio 2010, 11:37:14 CEST »
0
in alternativa, non ti converrebbe usare soap per ricevere i link ai files?

Condivido, e magari oltre al link anche altre informazioni come la dimensione. In questo modo sposti lato client (e lato utente) la decisione su come gestire il download (file piccoli tramite una altro servizio che ti spedisce il contenuto come ti ha suggerito Ricky` e file grandi gestiti in altro modo).

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #4 il: 30 Luglio 2010, 12:03:04 CEST »
0
Dipende dalla natura del file/immagine che bisogna mandare. Se la generazione del file da scaricare avviene contestualmente alla chiamata ha senso restituirlo direttamente nella risposta, altrimenti, come avete detto ha più senso restituire il path e scaricarlo con una chiamata http.
« Ultima modifica: 30 Luglio 2010, 12:05:27 CEST da Ricky` »

Offline ariostoi

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    xperia ray
  • Sistema operativo:
    win7
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #5 il: 30 Luglio 2010, 12:11:48 CEST »
0
 :-) :-) :-)

Allora ho fatto così... sul server ho creato un metodo che tramite encodebase64 trasforma l'immagine in stringa e la restituisce
sul client richiamo il metodo tramite ksoap2 (uso android2.2 quindi ho già la libreria base64) faccio il decode e voilà

grazie per la dritta su base64  8-) 8-) 8-)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #6 il: 30 Luglio 2010, 12:12:45 CEST »
0
:-) :-) :-)

Allora ho fatto così... sul server ho creato un metodo che tramite encodebase64 trasforma l'immagine in stringa e la restituisce
sul client richiamo il metodo tramite ksoap2 (uso android2.2 quindi ho già la libreria base64)

Perfetto. Attento però che a questo punto il tuo programma girerà solo su android 2.2!

Offline ariostoi

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    xperia ray
  • Sistema operativo:
    win7
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #7 il: 30 Luglio 2010, 12:13:22 CEST »
0
si si.. tanto è per la tesi. L'importante che funzioni  8-)

Offline adyx

  • Nuovo arrivato
  • *
  • Post: 4
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 7
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #8 il: 25 Aprile 2011, 01:44:03 CEST »
0
Ciao Ariostoi,

potresti spiegarmi meglio come hai fatto.....;)!!!!

Grazieeeee

Offline ariostoi

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    xperia ray
  • Sistema operativo:
    win7
Re:Effettuare Download di un file (o immagine jpeg) da un server web Java SOAP
« Risposta #9 il: 01 Maggio 2011, 21:18:49 CEST »
0
 8-) credo di essermi dimenticato il 50% delle cose.. comunque in linea di massima tu puoi trasformare le immagini in stringhe. per fare questo si usano le stringhe in base64.

per esempio oggeto file foto -> codifica -> stringa base64...... invio al client ..... decodifica -> file foto. Questa è l'idea di base. Quindi dovresti cercare le documentazioni sulle librerire base64 per il server (io ho usato encodebase64 ) mentre per il client, con android 2.2 hai i metodi già inclusi