programando pra celular!? java me: o que é e como começar

29
Programando pra Celular!? Java ME: o que é e como começar Lucas Torri l ucas t or r i @gmai l . com

Upload: lucas-torri

Post on 13-Jan-2015

9.486 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: 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

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

O que eu faço com isso?

O que é?

Agenda

Como eu faço isso?

Como acho mais informações?

Cool Stuff

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

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

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

O que é Java ME?• Java para dispositivos embarcados

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

O que eu faço com Java ME?

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

O que eu faço com Java ME/Celular?

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

Arquitetura Java ME

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

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)

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

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)

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

Como faço aplicações Java ME?

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

Como faço aplicações Java ME?• NetBeans + WTK = Mobility Pack

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

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

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

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

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

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

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

demo

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

Como instalar?• JAD• JAR

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

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();

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

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();

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

Outras strings para o GCF*

"sms://+5121234567:5000"

"btspp://001AA3000C19:1;authenticate=false;encrypt=false;master=false"

"serversocket://:10000"

*Específicas do aparelho

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

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);

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

Cool Stuff: Marge• Framework para Bluetooth

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

Cool Stuff: LWUIT• Light-Weight UI Toolkit

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

• Plataforma RIA

Cool Stuff: JavaFX Mobile

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

Cool Stuff: PhoneME/Squawk• KVMs

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

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/

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

E agora?!• http://www.netbeans.org• http://mobility.netbeans.org/• http://java.sun.com/javame/index.jsp• http://mobileandembedded.org

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

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/

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

Mobile & Embedded – java.net• 180 projetos• 220.000 atividades

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

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

Muito Obrigado!Lucas Torril ucas t or r i @gmai l . com