×
Namespaces

Variants
Actions
Revision as of 17:30, 7 September 2013 by lpvalente (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Como utilizar requisições HTTP GET em JavaME

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

Compatibilidade
Artigo
Tradução:
Por thiagobrunoms
Última alteração feita por lpvalente em 07 Sep 2013

Esta pequena aplicação demonstra como estabelecer uma conexão HTTP (HttpConnection) e posteriormente utilizar requisições HTTP GET para um servidor web.

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
 
 
public class HttpGET extends MIDlet implements CommandListener
{
 
/*
* O valor default da URL
*
* usuário pode alterar para outros endereços URL na própria aplicação
*/

private static String defaultURL = "http://localhost";
 
 
// Componentes de interface com o usuário (GUI) para adicionar a URL do servidor
private Display myDisplay = null;
private Form mainScreen;
private TextField requestField;
 
// Componentes de interface com o usuário (GUI) para mostrar o conteúdo da página Web
private Form resultScreen;
private StringItem resultField;
 
// o botão "send" utilizado no mainScreen
Command sendCommand = new Command("SEND", Command.OK, 1);
// o botão "back" utilizado no resultScreen
Command backCommand = new Command("BACK", Command.OK, 1);
 
public HttpGET()
{
 
// inicializando os componentes de tela para entrada da URL
myDisplay = Display.getDisplay(this);
mainScreen = new Form("Type in a URL:");
requestField = new TextField(null, defaultURL, 100, TextField.URL);
mainScreen.append(requestField);
mainScreen.addCommand(sendCommand);
mainScreen.setCommandListener(this);
}
 
public void startApp()
{
myDisplay.setCurrent(mainScreen);
}
 
public void pauseApp()
{
}
 
public void destroyApp(boolean unconditional)
{
}
 
public void commandAction(Command c, Displayable s)
{
 
// quando o usuário seleciona o botão "send" da mainScreen
if (c == sendCommand)
{
// recupera o endereço URL que o usuário disponibilizou
String urlstring = requestField.getString();
 
// enviando uma requisição HTTP GET para o servidor Web
String resultstring = sendGetRequest(urlstring);
 
// mostrando o conteúdo da página recuperada do servidor web
resultScreen = new Form("GET Result:");
resultField = new StringItem(null, resultstring);
resultScreen.append(resultField);
resultScreen.addCommand(backCommand);
resultScreen.setCommandListener(this);
myDisplay.setCurrent(resultScreen);
 
}
else if (c == backCommand)
{
 
// realiza novamente
requestField.setString(defaultURL);
myDisplay.setCurrent(mainScreen);
}
}
 
// envia uma requisição HTTP GET para o servidor Web
public String sendGetRequest(String urlstring)
{
 
HttpConnection hc = null;
DataInputStream dis = null;
 
String message = "";
 
try
{
 
/* abrindo uma conexão HTTP com o servidor Web
* quando a conexão está aberta, a requisição default é GET
*/

hc = (HttpConnection)
Connector.open(urlstring);
 
// estabelecendo os fluxos de entrada da conexão
dis = new DataInputStream(hc.openInputStream());
 
// lendo a resposta do servidor web - caracter por caracter
int ch;
while( (ch = dis.read()) != -1 )
{
message = message + (char) ch;
}
 
}
catch (IOException ioe)
{
message = "ERROR";
}
finally
{
try { if(hc != null) hc.close(); } catch (IOException ignored) {}
try { if(dis != null) dis.close();} catch (IOException ignored) {}
}
return message;
}
}
This page was last modified on 7 September 2013, at 17:30.
65 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×