Autore Topic: Prendere testo con spazio da edit text per invio a pagina JSP  (Letto 1278 volte)

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Prendere testo con spazio da edit text per invio a pagina JSP
« il: 20 Gennaio 2011, 16:25:31 CET »
0
Ciao a tutti,
sto studiando Android da qualche mese scopo tesi di 5 anno di ingegneria. Ho bisogno di prendere da una EditView una stringa per passarla poi a una pagina JSP tramite richiesta HTTP del tipo ..../pagina.jsp?nome=.........&cognome=........
sono riuscito l'unico problema è se metto una parola fatta da due parole... per dire se il cognome è Del Gatto mi da problemi.
Qual è la soluzione?
Grazie a tutti!

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #1 il: 20 Gennaio 2011, 16:29:12 CET »
0
"Del Gatto" la puoi inviare cosi:
Del%20Gatto

%20 è il simbolo dello spazio,prova
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #2 il: 20 Gennaio 2011, 16:39:04 CET »
0
so che posso inviarlo così ma in teoria un utente che usa l'applicazione nell'edit text di cognome metterà Del Gatto e non Del%Gatto io devo prendere quello che c'è li dentro e con spazio o senza spazio che sia inviarlo nel formato corretto alla JSP

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #3 il: 20 Gennaio 2011, 16:48:35 CET »
0
so che posso inviarlo così ma in teoria un utente che usa l'applicazione nell'edit text di cognome metterà Del Gatto e non Del%Gatto io devo prendere quello che c'è li dentro e con spazio o senza spazio che sia inviarlo nel formato corretto alla JSP

Prima di spedirlo, fai un replace.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #4 il: 20 Gennaio 2011, 16:50:05 CET »
+1
Quello che intendeva dire Nicola è che mentre crei l'url da inviare alla JSP, devi sostituire il carattere di spazio con %20.

Ad ogni modo, la maniera più corretta di fare il tutto è quella di fare un encoding dell'url tramite URLEncoder prima di passarla alla jsp ed un decoding della stessa nella jsp, con URLDecoder
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #5 il: 20 Gennaio 2011, 17:02:14 CET »
0
ok provvederò al più presto a provare così nel caso potete chiudere il topic!
grazie comunque credo mi sarete molto utili :-D

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:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #6 il: 20 Gennaio 2011, 17:09:31 CET »
0
fare un encoding dell'url tramite URLEncoder

Probabile errore di battitura... l'encoding va fatto solo del contenuto delle variabili che passi, non di tutto l'url.

Tanto per capirci, devi farlo di "Del Gatto" non di "script.jsp?nome=Del Gatto" o di "nome=Del Gatto"

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #7 il: 20 Gennaio 2011, 17:17:32 CET »
0
grazie, Marco.
Hai perfettamente ragione. Più un errore di distrazione che di battitura.
 O:-)
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #8 il: 20 Gennaio 2011, 17:58:21 CET »
0
stavo provando ad utilizzare il replace che però da quello che capisco è per le stringhe. Per le editable no. Io ho

Editable nome_band = nmText.getText();

e da qui devo sostituire l'eventuale spazio con %20

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #9 il: 20 Gennaio 2011, 18:11:35 CET »
0
stavo provando ad utilizzare il replace che però da quello che capisco è per le stringhe. Per le editable no. Io ho

Editable nome_band = nmText.getText();

e da qui devo sostituire l'eventuale spazio con %20
.getText().toString();
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #10 il: 20 Gennaio 2011, 18:52:23 CET »
0
perfetto l'unico problema è che il replace mi fa cambiare un carattere con un altro e non un carattere con altri tre che sono % 2 0
Non so risolvo con un append?

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:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #11 il: 20 Gennaio 2011, 18:55:15 CET »
0
stavo provando ad utilizzare il replace

Non usare il replace ma l'URLEncoder, altrimenti tra qualche giorno ci scriverai che non sei riuscito ad inviare "Tom & Jerry" o "Maga Magò" o "Dunkin' Donuts"!

Offline slasher

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Emulatore ADT :-D
  • Sistema operativo:
    Windows Vista (purtroppo) \ Linux Ubuntu
Re:Prendere testo con spazio da edit text per invio a pagina JSP
« Risposta #12 il: 21 Gennaio 2011, 18:02:34 CET »
0
ok perfetto ho risolto appunto come dicevi con l'encoder. Allego del codice in modo che magari risulterà utile a qualcuno

final EditText usText = (EditText)findViewById(R.id.username);
                 final EditText pwText = (EditText)findViewById(R.id.password);
                 final EditText nmText = (EditText)findViewById(R.id.nomegruppo);
                 final EditText gnText = (EditText)findViewById(R.id.genere);
                 String username = usText.getText().toString();
                 String password = pwText.getText().toString();
                 String nome_band = nmText.getText().toString();
                 String genere_band = gnText.getText().toString();
                 String richiesta = new String();
                 richiesta = "?username="+ URLEncoder.encode(username, "UTF-8")+"&password="+ URLEncoder.encode(password, "UTF-8")+"&nome="+URLEncoder.encode(nome_band, "UTF-8")+"&genere="+URLEncoder.encode(genere_band, "UTF-8");

                                URI targetUri = new URI(TARGET_URL+richiesta);
                   request.setURI(targetUri);
            httpClient.execute(request, myResponseHandler);