SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Programando pra
 Celular!? Java ME: o
 que é e como começar

Lucas Torri
l ucas t or r i @gm l . com
                   ai
Agenda
                  O que é?

           O que eu faço com isso?

             Como eu faço isso?

                  Cool Stuff

         Como acho mais informações?
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
Cool Stuff: JavaFX Mobile
• Plataforma RIA
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 Torri
l ucas t or r i @gm l . com
                   ai

Weitere ähnliche Inhalte

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

Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveisigorpimentel
 
Desenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisDesenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisJuarez Junior
 
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveisJuarez Junior
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_juniorJuarez Junior
 
Java Micro Edition
Java Micro EditionJava Micro Edition
Java Micro Editionjgbirk
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2MEelliando dias
 
Introdução a JavaME
Introdução a JavaMEIntrodução a JavaME
Introdução a JavaMEfrgo
 
Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)Marcus Lacerda
 
Artigo benchmark moodle apresentação
Artigo benchmark moodle   apresentaçãoArtigo benchmark moodle   apresentação
Artigo benchmark moodle apresentaçãoMilton Azara
 
Minicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseMinicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseNécio de Lima Veras
 
Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004elliando dias
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...WeOp - The Operations Summit
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iotHeider Lopes
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?Alvaro Viebrantz
 
IoTizando com JavaScript
IoTizando com JavaScriptIoTizando com JavaScript
IoTizando com JavaScriptHeider Lopes
 
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008Vando Batista
 
Desmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 VandoDesmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 Vandogueste1a639
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfJoberthSilva
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfJoberthSilva
 

Ähnlich wie Programando pra Celular!? Java ME: o que é e como começar (20)

Introdução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos MóveisIntrodução a Programação de Dispositivos Móveis
Introdução a Programação de Dispositivos Móveis
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Desenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveisDesenvolvimento aplicacoesdispositivosmoveis
Desenvolvimento aplicacoesdispositivosmoveis
 
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
18803468 desenvolvimento-de-aplicacoes-para-dispositivos-moveis
 
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
20070131 mgjug-enterprise java-me_netbeans_mp_nokia_juarez_junior
 
Java Micro Edition
Java Micro EditionJava Micro Edition
Java Micro Edition
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
Introdução a JavaME
Introdução a JavaMEIntrodução a JavaME
Introdução a JavaME
 
Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)Monitoramento em tempo real (DEVDAY2015)
Monitoramento em tempo real (DEVDAY2015)
 
Artigo benchmark moodle apresentação
Artigo benchmark moodle   apresentaçãoArtigo benchmark moodle   apresentação
Artigo benchmark moodle apresentação
 
Minicurso de TotalCross e Litebase
Minicurso de TotalCross e LitebaseMinicurso de TotalCross e Litebase
Minicurso de TotalCross e Litebase
 
Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004Introdução ao J2ME Conexão Java 2004
Introdução ao J2ME Conexão Java 2004
 
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (..."Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
"Software Defined CDN: Arquitetura, componentes e desafios" - Marcus Grando (...
 
5º ck o java e o android no iot
5º ck o java e o android no iot5º ck o java e o android no iot
5º ck o java e o android no iot
 
O que projetos de IoT precisam ?
O que projetos de IoT precisam ?O que projetos de IoT precisam ?
O que projetos de IoT precisam ?
 
IoTizando com JavaScript
IoTizando com JavaScriptIoTizando com JavaScript
IoTizando com JavaScript
 
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008"Desmistificando o Java ME" CCT-CEJUG Maio 2008
"Desmistificando o Java ME" CCT-CEJUG Maio 2008
 
Desmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 VandoDesmistificando o Java Me Cejug Maio2008 Vando
Desmistificando o Java Me Cejug Maio2008 Vando
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdf
 
Apostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdfApostila de J2ME versão 1.0.pdf
Apostila de J2ME versão 1.0.pdf
 

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

  • 1. Programando pra Celular!? Java ME: o que é e como começar Lucas Torri l ucas t or r i @gm l . com ai
  • 2. Agenda O que é? O que eu faço com isso? Como eu faço isso? Cool Stuff Como acho mais informações?
  • 3. 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
  • 4. O que é Java ME? • Java para dispositivos embarcados
  • 5. O que eu faço com Java ME?
  • 6. O que eu faço com Java ME/Celular?
  • 8. 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)
  • 9. 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)
  • 11. Como faço aplicações Java ME? • NetBeans + WTK = Mobility Pack
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. demo
  • 17. 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();
  • 18. 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();
  • 19. Outras strings para o GCF* "sms://+5121234567:5000" "btspp://001AA3000C19:1;authenticate=false ;encrypt=false;master=false" "serversocket://:10000" *Específicas do aparelho
  • 20. 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);
  • 21. Cool Stuff: Marge • Framework para Bluetooth
  • 22. Cool Stuff: LWUIT • Light-Weight UI Toolkit
  • 23. Cool Stuff: JavaFX Mobile • Plataforma RIA
  • 25. 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/
  • 26. E agora?! • http://www.netbeans.org • http://mobility.netbeans.org/ • http://java.sun.com/javame/index.jsp • http://mobileandembedded.org
  • 27. 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/
  • 28. Mobile & Embedded – java.net • 180 projetos • 220.000 atividades
  • 29. Programando pra Celular!? Java ME: o que é e como começar Muito Obrigado! Lucas Torri l ucas t or r i @gm l . com ai