Programa Expresso de Capacitação Módulo J2ME Aula 6 – MIDlets conectados Pausa para reflexão "Sem esforço não há progresso, mas com esforço também não há progresso” Ryotan Tokuda, Mestre Zen Conexão no MIDP • Subconjunto do J2SE com algumas adaptações • HTTP é a única implementação mandatória • Utiliza a classe Connector para criar as conexões • Connector.Open("protocol:address;parameters"); • Exemplo: • Connector.Open("http://www.some_web_address.com"); • Connector.Open("socket://someaddress:1234"); Estrutura de conexão genérica Conexão HTTP • Protocolo de pedido/resposta • URL • GET / POST Exemplo - StreamConnection void getViaStreamConnection(String url) throws IOException { StreamConnection c = null; InputStream s = null; try { c = (StreamConnection)Connector.open(url); s = c.openInputStream(); int ch; while ((ch = s.read()) != -1) { ... } } finally { if (s != null) s.close(); if (c != null) c.close(); } } Exemplo – ContentConnection void getViaContentConnection(String url) throws IOException { ContentConnection c = null; DataInputStream is = null; try { c = (ContentConnection)Connector.open(url); int len = (int)c.getLength(); dis = c.openDataInputStream(); if (len > 0) { byte[] data = new byte[len]; dis.readFully(data); } else { int ch; while ((ch = dis.read()) != -1) { ... } } } finally { if (dis != null) dis.close(); if (c != null) c.close(); } } Exemplo - HttpConnection • http://www.cin.ufpe.br/~ela/PEC/NetworkMIDlet. java Referências • Tutoriais da Sun