programando pra celular!? java me: o que é e como começar
DESCRIPTION
Programando pra Celular!? Java ME: o que é e como começarTRANSCRIPT
Programando pra Celular!? Java ME: o que é e como começar
Lucas Torril ucas t or r i @gmai l . com
O que eu faço com isso?
O que é?
Agenda
Como eu faço isso?
Como acho mais informações?
Cool Stuff
Mercado de tel. celular no Brasil• 164,5 milhões de aparelhos (agosto/2009)
> Linhas de telefonia fixa: 43 milhões de telefones• 89,61% da população brasileira possui uma linha
móvel• Fonte: www.anatel.gov.br
O que é Java ME?• Java para dispositivos embarcados
O que eu faço com Java ME?
O que eu faço com Java ME/Celular?
Arquitetura Java ME
CLDC• Connected, Limited Device “Configuration”• Define configurações mínimas
> Dispositivos com conexão de rede> Pouca memória (160 KB)
• JSR-30 (1.0) e JSR-139(1.1)
MIDP• Mobile Information Device “Profile”• Define um conjunto de APIs• Aplicações chamadas de MIDlet
> Ciclo de vida> UI de alto e baixo nível> RMS (Record Management Store)> Suporte HTTP
• Perfil atual dos dispositivos celulares> Versão 2.0
• JSR-37 (1.0), JSR-118 (2.0) e JSR-271 (3.0)
Como faço aplicações Java ME?
Como faço aplicações Java ME?• NetBeans + WTK = Mobility Pack
NetBeans• IDE Java
> Ajax, C/C++, Databases, Debugger, Desktop, Editor, GUI Builder, Java EE, Java ME, Java SE, Javascript, Mobile, Profiler, Refactor, REST, Rich Client Platform, Ruby, SOA, SOAP, UML, Web, WSDL, XML
> Amplo suporte a plugins> Desenvolvimento drag-and-drop
• Software Livre> Grátis!> Grande comunidade em volta
Java Platform Micro Edition Software Development Kit 3.0• Antigo Sun Wireless Toolkit (WTK)• Implementação Java ME
> Blu-ray Disc Java> CDC> CLDC & MIDP
> WMA, MMAPI, JTWI, J2ME Web Services, PDAP, Bluetooth and OBEX, Mobile 3D Graphics
• Emulador• OTA• Suporte a criptografia• Obfuscador
NetBeans Mobility Pack• Extensão do NetBeans para Java ME• Integração com o Wireless Toolkit• Suporte de outros emuladores
> Nokia, Sony Ericsson, Motorola, Siemens, ...• Build baseado em Script Ant• Visual Designer
demo
Como instalar?• JAD• JAR
O não tão básico: RMS
RecordStore rs = RecordStore. openRecordStore("myRecord", false);byte b[] = someString.getBytes();int id = rs.addRecord(b, 0, b.length);getRecord(id, b, 0);rs.deleteRecord(id);rs.closeRecordStore();
O não tão básico: HTTP
HttpConnection c = (HttpConnection) Connector.open("http://web.site.com/");c.setRequestMethod(HttpConnection.GET);if (c.getResponseCode() == HttpConnection.HTTP_OK) { InputStream in = c.openInputStream();...}c.close();
Outras strings para o GCF*
"sms://+5121234567:5000"
"btspp://001AA3000C19:1;authenticate=false;encrypt=false;master=false"
"serversocket://:10000"
*Específicas do aparelho
Cool Stuff: Floggy• Framework para persistência
Person p = new Person(name, surname, ...);PersistableManager pm = PersistableManager.getInstance();int id = pm.save(p);pm.load(p, id);
Cool Stuff: Marge• Framework para Bluetooth
Cool Stuff: LWUIT• Light-Weight UI Toolkit
• Plataforma RIA
Cool Stuff: JavaFX Mobile
Cool Stuff: PhoneME/Squawk• KVMs
Outros SDKs• Sun Java ME SDK 3.0• NetBeans 6.5 IDE• MOTODEV Studio for Java ME• Nokia S60, S40, and NFC SDKs• BlackBerry JDE 4.7• Sony Ericsson SDK 2.5 for Java ME• LG SDK 1.2 for Java ME• http://java.sun.com/developer/technicalArticles/java
me/stateoftheunion/
E agora?!• http://www.netbeans.org• http://mobility.netbeans.org/• http://java.sun.com/javame/index.jsp• http://mobileandembedded.org
E agora?!• http://floggy.sourceforge.net/• https://marge.dev.java.net/• https://lwuit.dev.java.net/• http://javafx.com/• http://phoneme.dev.java.net/• http://squawk.dev.java.net/
Mobile & Embedded – java.net• 180 projetos• 220.000 atividades
Programando pra Celular!? Java ME: o que é e como começar
Muito Obrigado!Lucas Torril ucas t or r i @gmai l . com