Ho bisogno di codificare un URL utilizzando la richiesta HTTP GET in Blackberry. Qualcuno può aiutarmi a trovare come ottengo ciò.Encoder URL Blackberry
8
A
risposta
8
qui si va; ^)
public static String URLencode(String s)
{
if (s!=null) {
StringBuffer tmp = new StringBuffer();
int i=0;
try {
while (true) {
int b = (int)s.charAt(i++);
if ((b>=0x30 && b<=0x39) || (b>=0x41 && b<=0x5A) || (b>=0x61 && b<=0x7A)) {
tmp.append((char)b);
}
else {
tmp.append("%");
if (b <= 0xf) tmp.append("0");
tmp.append(Integer.toHexString(b));
}
}
}
catch (Exception e) {}
return tmp.toString();
}
return null;
}
18
Whyt non usi RIM URLEncodedPostData?
private String encodeUrl(String hsURL) {
URLEncodedPostData urlEncoder = new URLEncodedPostData("UTF-8", false);
urlEncoder.setData(hsURL);
hsURL = urlEncoder.toString();
return hsURL;
}
6
utilizzare la classe fornita da w3. Ecco il download link
+0
thx, w3 è sottovalutato per queste cose. –
3
the reply using "URLEncodedPostData" above non è corretto. campione Corretto:
public static String encodeUrl(Hashtable params)
{
URLEncodedPostData urlEncoder = new URLEncodedPostData("UTF-8", false);
Enumeration keys = params.keys();
while (keys.hasMoreElements()) {
String name = (String) keys.nextElement();
String value = (String) params.get(name);
urlEncoder.append(name, value);
}
String encoded = urlEncoder.toString();
return encoded;
}
Cheers!
Ottima soluzione ma non portatile. Dato che vuole eseguire il suo software su un altro cellulare, farà di nuovo la stessa domanda. La cosa migliore è evitare le lezioni che funzionano solo su una piattaforma. – Toad
Non posso dirlo con certezza ... In questo caso hai ragione, perché non è una funzionalità dipendente dalla piattaforma. Ma ancora semplice è buono, implementalo quando ti chiedono. –
In realtà non dice che stia scrivendo il codice mobile multipiattaforma, quindi in questo caso mi schiererei con il coldice: mi sembra più sicuro (meno probabile introdurre bug) utilizzare un'API nativa su un approccio homebrew. –