Programando pra Celular!? Java ME: o que é e como começar

Post on 13-Jan-2015

9.486 views 0 download

description

Programando pra Celular!? Java ME: o que é e como começar

Transcript of Programando pra Celular!? Java ME: o que é e como começar

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