Java 2 Platform, Micro Edition (J2ME)
|
|
- Thomaz Cabral de Mendonça
- 2 Há anos
- Visualizações:
Transcrição
1 Java 2 Platform, Micro Edition () Alcione de Paiva DPI Granbery Partes deste material foram adaptadas de Mauro Nacif Masha Gutkhen Keren Gazit
2 Conteúdo O que é? conceitos básicos Configurações (CLDC, CDC) Profiles (MIDP) MIDlet, MIDlet Suite Classes básicas da API Uso e instalação Exemplos Exercícios 2
3 Introdução Dispositivos de informação inteligentes são uma necessidade em nossa moderna. Tais dispositivos podem ser: Telefones celulares smart cards PDAs Palmtops Dispositivos eletrônicos em geral Estes dispositivos tendem a ser direcionados para um propósito específico, com recurso limitado, conectados em rede. 3
4 Motivações Years to Reach 25% Market Penetration Years Telephone PC Cellular Internet Mobile internet Category => penetração de 25% do mercado da Internet móvel em quatro anos (Forrester) 4
5 Requisitos de ambiente É necessário um ambiente adaptado para dispositivos com recursos limitados As limitações são: Memória extremamente limitada Tamanho de tela pequena Métodos de entrada alternativos Processadores lentos 5
6 Qual é a solução? Devido à grande demanda a Sun decidiu desenvolver uma edição especial de Java: (Java 2 Micro Edition). 6
7 7
8 Penetração da Tecnologia Java Developers.sun.com (February 14-17, 2005) 110 operadoras no mundo permitem deployments em Java Usados em mais de 400 modelos de mais de 40 fabricantes diferentes Usada em mais de 750 milhões de smartcards. 8
9 Penetração da Tecnologia Java Enterprise Developer News (Tuesday, April 12, 2005) O desenvolvimento em cresceu 33% em apenas seis meses É mais efetivo em termos de custo o desenvolvimento em uma vez que não é necessário reescrever a aplicação para dispositivos diferentes. 9
10 Edições de Java Dispositivos diferentes têm exigências diferentes e expectativas diferentes de Java. Uma plataforma (solução) não pode abarcar todos os segmentos do mercado (servidor web, vídeo games etc.) Usuários/desenvolvedores querem flexibilidade. 10
11 Edições de Java A Plataforma Java 2 é dividida em três edições. Cada edição fornece um ambiente completo para executar aplicações baseadas em java, inclusive a máquina virtual Java (VM) e classes de tempo de execução. As três edições abordam tipos diferentes de aplicações que executam em tipos diferentes de dispositivos. 11
12 Edições de Java Plataforma Java 2 Java2 Standard Edition (J2SE ) Java2 Enterprise Edition (J2EE ) Aplicações desktop & Aplicações workstation Aplicações empresariais de alto desempenho Java2 Micro Edition ( ) Dispositivos com Limitações de memória e processamento 12
13 Edições de Java Cada edição define conjuntos diferentes de bibliotecas de classe. Existem milhares de classes básicas de J2SE, ocupando megabytes de espaço. fornece um número J2EE menor de classes. J2SE 13
14 PersonalJava e EmbeddedJava não é a primeira tentativa de adaptar Java para ambientes restritos. PersonalJava Usa as classes básicas de Java 1.1 com algumas características de Java 2. A implementação ainda exige para 2 megabytes de memória e um processador rápido para executar. 14
15 PersonalJava e EmbeddedJava EmbeddedJava Cada comportamento da JVM e das classes runtime são opcionais o implementador pode escolher exatamente que classes e métodos são requeridos. Perda da portabilidade. 15
16 Profile Plataforma mínima requerida para um grupo de dispositivos Profile Libraries Atende necessidades específicas de uma certa família de dispositivos Java Language Pacotes opcionais Java Virtual Machine Configuration Configuration Profiles Conceitos básicos Sistema operacional 16
17 Conceitos básicos J2EE J2SE PDA Profile Mobile Internet dispositiv o Other Profile Standard Library CLDC Person Profile Enterprise Services CDC Foundatio n Profile Application Server JavaCard CLDC Core API CLDC Core API JavaCard API KVM JCRE Java Language JVM (HotSpot) CVM 17
18 Conceitos básicos Java Card Class file(s) Cerca de 50K de memória Três componentes: Runtime environment Converter JCVM, JCRE, JC API 2 diferentes VMs: Conversor Interpretador On-card installer Interpreter CAP files Smart card Off-card installation program CAD PC ou workstation 18
19 Conceitos básicos JavaTV Applications & Applets Baseado em J2SE VM no receptor de TV & executa byte code Aplicações sobdemanda Application layer Java TV API Java Platform Java technology layer Real Time OS Device Drivers Digital TV Receiver RTOS layer Hardware layer 19
20 Conceitos básicos está baseada em 3 conceitos básicos: Configurations Profiles Pacotes opcionais 20
21 Configurações Uma configuration é um ambiente Java completo, consistindo de: Uma Java virtual machine (VM) para executar Java bytecode Código nativo para interagir com o sistema subjacente Um conjunto de classes básicas Java de tempo de execução Para usar uma configuration, um dispositivo deve atender alguns requerimentos mínimos. 21
22 Configurações O conjunto de classes básicas e pequeno e deve ser expandido com classes adicionais fornecidas pelo profiles ou pelo implementador da configuration. Configurations não define classes de interface com o usuário. 22
23 Configurações Configuration CLDC CDC Connected Limited Device Configuration Connected Device Configuration 23
24 CLDC vs. CDC CLDC Para dispositivos muito limitados KB de memória total Processador de 16-bit ou 32-bit Baixo consumo de energia, com possível uso de bateria Conectividade com largura de banda limitada CDC 2 MB ou mais de memória Processador de 32bit Conectividade com banda larga, com o uso freqüente de TCP/IP 24
25 CLDC vs. CDC - VM Características ausentes na CLDC VM: Tipos de Ponto flutuante (1.0) Finalização de objetos JNI ou reflection Thread groups ou daemon threads Class loaders para usuário O CDC suporta uma máquina virtual Java 2 completa Mudanças na verificação/ pre-verificação 25
26 KVM e CVM KVM - Java virtual machines para o CLDC CVM - Java virtual machines para o CDC Escritas para trabalhar especificamente em ambientes limitados e para serem facilmente portadas para diferentes plataformas. 26
27 CLDC vs. CDC J2SE Subset CLDC inclui classes da: CDC inclui 17 pacotes java.lang java.io java.util Somente classes selecionadas de cada pacote foram incluídas. 27
28 CLDC vs. CDC J2SE Subset J2SE CDC CLDC 28
29 Lidando com I/O J2SE inclui várias classes para realizar I/O. Existe um número grande de classes I/O e elas tendem a encapsular modelos de I/O que não são necessariamente encontrados em todos os dispositivos. Por exemplo, alguns dispositivos handheld não possuem sistemas de arquivo. Suporte a Socket, também não é universal. 29
30 Lidando com I/O em CLDC CLDC define um conjunto novo de APIs para I/O chamado de Generic Connection Framework. O GCF, parte do novo pacote javax.microedition.io, define interfaces para os diferentes tipos de I/O que são possíveis. O CLDC não define, de fato, qualquer implementação de I/O. Isto fica a cargo do profiles e/ou do fabricante do dispositivo. 30
31 GCF - exemplo import java.io.*; import javax.microedition.io.*; StreamConnection conn = null; InputStream is = null; String url = "socket://somewhere.com:8909"; try { conn = (StreamConnection) Connector.open( url ); is = conn.openinputstream();... // etc. etc. } 31
32 Lidando com I/O em CDC Uma vez que CDC é um superconjunto do CLDC, ele inclui o GCF. CDC também requer suporte GCF para dois tipos específicos de conexões: arquivos e datagramas. A razão: CDC inclui as classes dos pacotes java.io e java.net. 32
33 Conceitos básicos está baseada em 3 conceitos básicos: Configurations Profiles Pacotes opcionais 33
34 Profiles Adiciona classes específicas do domínio para uma configuration: Para adicionar funcionalidade ausentes Para suportar usos específicos do dispositivo A maioria de profiles define classes de interface com o usuário para construir aplicações interativas. Para usar um profile, o dispositivo deve atender um mínimo de requisitos da configuration e do profile. 34
35 Profiles Profile MIDP Mobile Information device PDAP Personal Digital Assistant Profile FP Foundation Profile PBP PP Personal Basis Profile Personal Profile 35
36 MIDP MID Profile MIDP é direcionada para uma classes de dispositivos conhecidos como mobile information devices (MIDs). Características Mínimas do MIDs: Memória suficiente para executar aplicações MIDP Visor com pelo menos 96 X 56 pixels, monocromático ou colorido Um keypad, teclado, ou tela sensível ao toque Capacidade de rede sem fio bi-direcional 36
37 MIDP - Especificação Existem duas versões de MIDP: MIDP 1.0 lançado em Setembro de Muitos dispositivos disponíveis no mercado suportam esta versão. MIDP 2.0 lançado em Dezembro de Grande parte dos dispositivos o suportam. 37
38 MIDP - Especificação O MIDP adiciona APIs às APIs básicas definidas pelo CLDC. As novas características incluem: Suporte para gerência do ciclo de vida da aplicação de modo similar aos applets no J2SE. Armazenamento persistente de dados. Conectividade baseada no HTTP no GCF. Suporte simples às interface com o usuário, com flexibilidade suficiente para construção de jogos e aplicações de negócio. 38
39 MIDP - Especificação A especificação MIDP 2.0 inclui novas APIs em relação a versão 1.0, sendo as principais: classe responsável por lidar com push registry (um MIDlet responder a um evento externo sem estar ativo). javax.microedition.lcdui.game pacote responsável por estender as capacidades do MIDP para jogos 2D, lidando com layers, sprites e transparências. javax.microedition.io.pushregistry 39
40 MIDP - Especificação Outros avanços da MIDP 2.0: Ampliação da capacidade de interface com o usuário. Suporte a mídia (wav) Ampliação da capacidade de conectividade (HTTPS, datagram, sockets, server sockets e comunicação com a porta serial) Suporte Over-the-air (OTA) instalação automática pelo ar. 40
41 MIDP Limitações das aplicações Memória é um recurso particularmente escasso. Os primeiros celulares Motorola habilitados para limitavam o tamanho de uma aplicação a 50K. 41
42 Conceitos básicos está baseada em 3 conceitos básicos: Configurations Profiles Pacotes opcionais 42
43 Pacotes opcionais Conjunto de APIs para suportar comportamentos adicionais comuns. Possui dependências específicas com uma configuration particular e/ou um ou mais profiles. Exemplos de pacotes opcionais : RMI Bluetooth JDBC 43
44 Pacotes opcionais JCP APIs suportadas no Wireless Toolkit JSR API Name JSR 139 CLDC 1.1 Connected Limited Device Configuration JSR 118 MIDP 2.0 Mobile Information Device Profile JSR 185 JTWI 1.0 Java Technology for the Wireless Industry JSR 205 WMA 2.0 Wireless Messaging API JSR 135 MMAPI 1.1 Mobile Media API JSR 75 PIM and File PDA Optional Packages for the Platform JSR 82 Bluetooth and OBEX Java APIs for Bluetooth JSR 172 Web Services Specification JSR 184 3D Graphics Mobile 3D Graphics API for 44
45 Em resumo Configuration, profile e pacotes opcionais devem ser selecionados. profiles baseados em CDC tornam o desenvolvimento mais simples, mas não é adequado para dispositivos low-end. profiles baseados em CLDC tornam o desenvolvimento mais difícil, especialmente quando é necessário diminuir o tamanho de uma aplicação para executar em muitos dispositivos. 45
46 46
47 MIDlets o coração de Do mesmo modo que os Applets e os Servlets as aplicações MIDP são executadas em um ambiente. As aplicação são denominadas de MIDlet, a qual é uma aplicação MID Profile. 47
48 MIDlets o coração de Toda aplicação deve estender a classe javax.microedition.midlet.midlet para permitir que o programa gerente de aplicação (AMS): controle o MIDlet. Seja capaz de acessar as propriedades do descritor da aplicação. Notificar e requisitar mudanças de estado. 48
49 MIDlets o coração de A classe que estende a classe MIDlet é a classe principal da aplicação. A classe MIDlet define métodos abstratos que devem ser implementados pela subclasse (por exemplo: startapp(), destroyapp(), notifydestroyed()). 49
50 MIDlets o coração de 50
51 MIDlet Suite Um ou mais MIDlets são empacotados juntos em uma MIDlet suite, composta de: Arquivo JAR (Java archive) Arquivo JAD (Java Application Descriptor) Todas as classes definidas pelo usuário e recursos requeridos pelos MIDlets na suite devem estar no arquivo JAR. 51
52 MIDlet Suite O arquivo JAR file deve também incluir um manifest que descreve os MIDlets na suite. O descritor da aplicação (JAD) contém informação similar, e é usado por dispositivos para obter informação sobre uma MIDlet suite sem ter que baixar e instalar o MIDlet suite primeiro. 52
53 Criando um MIDlet 53
54 Criando um MIDlet Importando pacotes específicos do MIDP import javax.microedition.lcdui.*; import javax.microedition.midlet.*; 54
55 Criando um MIDlet Extends MIDlet Implements CommandListener public class HelloMIDlet extends MIDlet implements CommandListener { 55
56 Criando um MIDlet Criando um form, adicionando Commands public HelloMIDlet() { mmainform = new Form("HelloMIDlet"); mmainform.append(new StringItem(null, "Hello, Seminar Software Design!")); mmainform.addcommand(new Command("Exit", Command.EXIT, 0)); mmainform.setcommandlistener(this); } 56
57 Exemplos de classes da API MIDP MIDlet Form Command CommandListener ItemCommandListener Item 57
58 Exemplos de classes da API MIDlet Base class Form Command CommandListener ItemCommandListener Item 58
59 MIDlet class API protected abstract void startapp() protected abstract void pauseapp() protected abstract void destroyapp(boolean unconditional) public final String getappproperty(string key) public final void notifydestroyed() 59
60 Exemplos de classes da API MIDlet Form Command CommandListener ItemCommandListener Item 60
61 Classe Form Um Form é uma Screen (tela) que contém uma mistura arbitrária de itens: imagens, campos de texto read-only, campos de texto editáveis, campos de data editáveis, medidores, grupos de escolha e itens adaptados. De modo geral, qualquer subclasse da classe Item pode estar contida em um form. A implementação lida com o layout, navegação e rolamento (scrolling). 61
62 Classe Form API Gerência de Item public int append(item item) public Item get(int itemnum) Layout public void setitemstatelistener(itemstate Listener ilistener) 62
63 Exemplos de classes da API MIDlet Form Command CommandListener ItemCommandListener Item 63
64 Classe Command A classe Command representa o significado de uma ação. Objetos Command estão presentes na interface com o usuário. A ação é, de fato, implementada em um objeto CommandListener. O objeto CommandListener é associado com um objeto Displayable ou um Item. Uma vez que o Comando é acionado, o CommandListener é invocado e a ação é realizada. 64
65 Classe Command Command label public String getlabel() Command type public int getcommandtype() Command priority public int getpriority() 65
66 Classe Command tipo Label prioridade new Command( Compre", Command.ITEM, 1); new Command("Info", Command.ITEM, 1); new Command( voltar", Command.BACK, 1); 66
67 Classe Command Tipo BACK CANCEL EXIT HELP ITEM OK SCREEN STOP Comando navigacional para retornar à tela anterior. Comando padrão de cancelamento. Comando padrão de saída da aplicação. Comando para solicitação de ajuda on-line. Comando relacionado com itens na tela ou elementos de escolha. Comando padrão de resposta positiva a um dialogo. Especifica um comando definido pela aplicação que pertence à tela corrente. Comando para parar o processo em execução no momento. 67
68 Classe Command Prioridade A aplicação usa o valor de prioridade para descrever a importância deste comando relativamente a outros comandos na mesma tela. Valores de prioridade são inteiros, onde um número menor indica maior importância. Tipicamente, a implementação escolhe a colocação de um comando primeiro baseado no tipo de comando e então comandos semelhantes em lugares baseado em uma ordem de prioridade. Isto poderia significar que o comando com a prioridade mais alta é colocado de forma que usuário pode ativá-lo diretamente e o comando com mais baixa prioridade é colocado em um menu. 68
69 classe CommandListener API O objeto é um listener para Commands que estão associados à Displayable. public void commandaction(command c, Displayable d) 69
70 classe ItemCommandListener API Quando um command (associado a um Item) é invocado, a aplicação é notificada por meio da chamada ao método commandaction() de um objeto ItemCommandListener que foi associado ao Item. public void commandaction(command c, Item item) 70
71 Exemplos de classes da API MIDlet Form Command CommandListener ItemCommandListener Item 71
72 Classe Item Uma superclasse para componentes que podem ser adicionados a um Form. Todos os objetos Item possuem um campo label Escolha o layout, tamanho e aparência do Item Associe Commands 72
73 Classe Item API public void setdefaultcommand(command cmd) public void setitemcommandlistener(itemcommandlistener listener) public void notifystatechanged() public int getpreferredwidth() 73
74 Iniciando Passo 1: Baixe Wireless Toolkit da sun: ownload-2_2.html Passo 2: Instale J2SE SDK Passo 3: Instale o Toolkit. 74
75 Após a instalação. Atalhos estão disponíveis no menu iniciar. Novos diretórios são criados 75
76 Usando KToolbar 76
77 Criando uma nova Aplicação Clique New Project. Entre o nome do projeto e o nome da MIDlet. Novos diretórios serão criados automaticamente. 77
78 Onde colocar os arquivos? /apps/{proj} fontes, recursos, e arquivos binários /apps/{proj}/bin JAR, JAD, arquivos manifest descompactados. /apps/{proj}/lib Bibliotecas de classes externas, (JAR ou ZIP) para um projeto específico /apps/{proj}/res Arquivos de recursos /apps/{proj}/src Arquivos fonte /apps/lib Bibliotecas de classes externas, (JAR ou ZIP) para todos projetos KToolbar. 78
79 Depois? Escolha a plataforma Escreva seu código grave Build (Compilar + Preverify) execute 79
80 Distribuição para dispositivos reais Crie um pacote Coloque o pacote em algum lugar da Internet. Atualize o arquivo.jad Download a aplicação para o celular Execute 80
81 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 81
82 Exemplo: OlaMundo import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class OlaMundoMIDlet extends MIDlet implements CommandListener { private Command exitcommand; // The exit command private Display display; // The display for this MIDlet Comando de tela para sair public OlaMundoMIDlet() { display = Display.getDisplay(this); exitcommand = new Command( Sair", Command.SCREEN, 2); } 82
83 Exemplo: OlaMundo public void startapp() { TextBox t = new TextBox("Ola Mundo", "Ola mundo!", 256, 0); t.addcommand(exitcommand); Cria a caixa de texto t.setcommandlistener(this); Relaciona o comando com o texto display.setcurrent(t); } Define quem vai escutar o comando public void pauseapp() { } Mostra a tela public void destroyapp(boolean unconditional) { } public void commandaction(command c, Displayable s) { if (c == exitcommand) { destroyapp(false); notifydestroyed(); Implementa a saída da } aplicação } } Se verdadeiro o MIDlet deve liberar todos os recursos. Se falso o MIDlet pode lançar MIDletStateChangeException para indicar que não quer ser destruído neste momento. 83
84 Exemplo: OlaMundo Criando o projeto no WTK 84
85 Exemplo: OlaMundo Criando o projeto no WTK Edite o código fonte e o grave em {toolkit}\apps\olamundo\src\olamundo.java Build Execute 85
86 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 86
87 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 87
88 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 88
89 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 89
90 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 90
91 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 91
92 Exemplo: OlaMundo Simulando o OTA (Over The Air) para deployment 92
93 Exemplo: OlaMundo (outra versão) import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class OlaMundoMIDlet extends MIDlet implements CommandListener { public void startapp() { Display display = Display.getDisplay(this); Form mainform = new Form("OlaMundoMIDlet"); mainform.append("ola Mundo!"); Command exitcommand = new Command("Exit", Command.EXIT, 0); mainform.addcommand(exitcommand); mainform.setcommandlistener(this); display.setcurrent(mainform); } 93
94 Exemplo: OlaMundo public void pauseapp() { } public void destroyapp(boolean unconditional) { } public void commandaction(command c, Displayable s) { if (c.getcommandtype() == Command.EXIT ) { notifydestroyed(); } } } 94
95 Exemplo: OlaMundo no NetBeans Mobile Edition Novo Projeto 95
96 Exemplo: OlaMundo no NetBeans Mobile Edition Desmarque o Create Hello MIDlet 96
97 Exemplo: OlaMundo no NetBeans Mobile Edition Pressione Finish 97
98 Exemplo: OlaMundo no NetBeans Mobile Edition Selecione New File 98
99 Exemplo: OlaMundo no NetBeans Mobile Edition Pressione Finish 99
100 Exemplo: OlaMundo no NetBeans Mobile Edition Copie o conteúdo da transparência para o MIDLet Execute o projeto 100
101 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 101
102 Exemplo: Ola2 import javax.microedition.midlet.*; import javax.microedition.lcdui.*; // Ola que pergunta o nome do usuário public class Ola2Midlet extends MIDlet implements CommandListener { private Command exitcommand = new Command("Sair", Command.EXIT, 1); private Command okcommand = new Command("OK", Command.OK, 1); private Form mainform; private Display display; public Ola2Midlet() { mainform = new Form("Ola"); } 102
103 Exemplo: Ola2 public void startapp() { display = Display.getDisplay(this); mainform.append( new TextField("Entre com seu nome", "", 15, TextField.ANY)); mainform.addcommand(exitcommand); mainform.addcommand(okcommand); display.setcurrent(mainform); mainform.setcommandlistener(this); Indica o tipo do TextField: ANY, DECIMAL, ADDR, INITIAL_CAPS_SENTENCE, INITIAL_CAPS_WORD, NON_PREDICTIVE, NUMERIC, PHONENUMBER, PASSWORD, SENSITIVE, UNEDITABLE, URL } public void pauseapp() { } protected void destroyapp(boolean unconditional) { } 103
104 Exemplo: Ola2 public void commandaction(command c, Displayable s) { if (c == exitcommand) { destroyapp(false); notifydestroyed(); } else if (c == okcommand) { TextField t = (TextField)mainForm.get(0); mainform.append( new TextField("", "Ola "+ t.getstring(), 15, TextField.ANY)); } } } 104
105 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 105
106 Exemplos: Envio de mensagens O Wireless Toolkit suporta a Wireless Messaging API (WMA) com um ambiente sofisticado de simulação. WMA 1.1 (JSR 120) permite que os MIDlets enviem e recebam mensagens SMS (Short Message Service) ou CBS (Cell Broadcast Service). WMA 2.0 (JSR 205) também inclui suporte para mensagens MMS (Multimedia Message Service). 106
107 Exemplos: Envio de mensagens No entanto, para se beneficiar completamente do uso de mensagens, seria útil que a aplicação pudesse ser despertada automaticamente, a partir da chegada de uma mensagem ou de um outro evento, como um evento de timer. Este é o conceito capturado pelo registro push, especificado pelo na MIDP 2.0 (JSR 118). 107
108 Exemplos: Envio de mensagens Deste modo poderemos ter aplicações que recebem e tratam os dados automaticamente, como por exemplo uma aplicação que gera um gráfico das ações da bolsa. Ou uma aplicação que atualiza automaticamente um roteiro de visitas para trabalhadores na rua, em função da chegada de pedidos. 108
109 Exemplos: Envio de mensagens 109
110 Exemplos: Envio de mensagens 110
111 Exemplos: Envio de mensagens O registro de uma aplicação para ser acordada por tempo ou por mensagens pode ser dinâmico ou estático. Dinâmico em tempo de execução, por meio de chamadas a métodos: registerconnection(string connection, String midlet, String filter) registeralarm(string midlet, long time) Estático pela definição no arquivo JAD MIDlet-Push-<n>: <ConnectionURL>,<MIDletClassName>, <AllowedSender> MIDlet-Push-2: socket://:100, corej2me.newslink, * 111
112 Exemplos: Envio de mensagens Neste exemplo faremos um MIDLet que é ativado automaticamente pela chegada de uma mensagem sms, e que exibe seu conteúdo no display. O registro será estático. 112
113 Exemplos: Envio de mensagens import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import javax.wireless.messaging.*; import java.io.ioexception; public class PushTeste extends MIDlet implements CommandListener { private Display display; private Command cmexit; private Alert alertamen; int porta = 1000; MessageConnection conexao = null; // Conexao para receber a mensagem Message mensagem; 113
114 Exemplos: Envio de mensagens public void pauseapp() { } public void destroyapp(boolean unconditional) { } public PushTeste() { display = Display.getDisplay(this); alertamen = new Alert("Mensagem recebida!"); alertamen.settimeout(alert.forever); cmexit = new Command("Sair", Command.EXIT, 1); alertamen.addcommand(cmexit); alertamen.setcommandlistener(this); } 114
115 Exemplos: Envio de mensagens public void startapp() { String connectlist[]; connectlist = PushRegistry.listConnections(true); if (connectlist == null connectlist.length == 0) { // iniciado pelo usuario, sair destroyapp(false); notifydestroyed(); } else { // iniciado por conexao try { conexao = (MessageConnection) Connector.open("sms://:" + porta); mensagem = conexao.receive(); if(mensagem!= null && mensagem instanceof TextMessage) { alertamen.settitle("enviado por: " + mensagem.getaddress()); alertamen.setstring(((textmessage)mensagem).getpayloadtext()); display.setcurrent(alertamen); } } 115
116 Exemplos: Envio de mensagens catch(ioexception e) { System.out.println("Exceção!"); } } } public void commandaction(command c, Displayable s) { if (c == cmexit) { destroyapp(false); notifydestroyed(); } } } 116
117 Exemplos: Envio de mensagens Teste e Instalação Registro estático (alteração no JAD) 117
118 Exemplos: Envio de mensagens Teste e Instalação Inserindo permissões 118
119 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 119
120 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 120
121 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 121
122 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 122
123 Exemplos: Envio de mensagens Teste e Instalação Criando o pacote Executando via OTA Enviando mensagens por meio do WMA console 123
124 Exemplos OlaMundo Ola2 Envio de mensagem e registro Push Comunicação HTTP 124
125 Exemplos: comunicação HTTP Os MIDlets podem comunicar por meio do protocolo HTTP Neste exemplo o MIDlet faz uma conexão com um Servlet e recebe a contagem de quantas vezes o Servlet foi requisitado 125
126 Exemplos: comunicação HTTP O Servlet import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class HitServlet extends HttpServlet { private int mcount; public void doget(httpservletrequest request, HttpServletResponse response) throws ServletException, IOException { String message = "Hits: " + ++mcount; response.setcontenttype("text/plain"); response.setcontentlength(message.length()); response.getwriter().println(message); } } 126
127 Exemplos: comunicação HTTP O arquivo web.xml <?xml version="1.0" encoding="iso "?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>bob</servlet-name> <servlet-class>hitservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>bob</servlet-name> <url-pattern>/hits</url-pattern> </servlet-mapping> </web-app> 127
128 Exemplos: comunicação HTTP A instalação 128
129 Exemplos: comunicação HTTP O MIDlet import java.io.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class HitMIDlet extends MIDlet implements CommandListener { private Display mdisplay; private Form mmainform; private StringItem mmessageitem; private Command mexitcommand, mconnectcommand; public void pauseapp() {} public void destroyapp(boolean unconditional) {} 129
130 Exemplos: comunicação HTTP O MIDlet public void startapp() { mdisplay = Display.getDisplay(this); mdisplay.setcurrent(mmainform); } public HitMIDlet() { mmainform = new Form("HitMIDlet"); mmessageitem = new StringItem(null, ""); mexitcommand = new Command("Exit", Command.EXIT, 0); mconnectcommand = new Command("Connect", Command.SCREEN, 0); mmainform.append(mmessageitem); mmainform.addcommand(mexitcommand); mmainform.addcommand(mconnectcommand); mmainform.setcommandlistener(this); } 130
131 Exemplos: comunicação HTTP O MIDlet public void commandaction(command c, Displayable s) { if (c == mexitcommand) notifydestroyed(); else if (c == mconnectcommand) { Form waitform = new Form("Waiting..."); mdisplay.setcurrent(waitform); Thread t = new Thread() { public void run() { connect(); } }; t.start(); } } 131
132 Exemplos: comunicação HTTP O MIDlet private void connect() { HttpConnection hc = null; InputStream in = null; String url = getappproperty("hitmidlet.url"); try { hc = (HttpConnection)Connector.open(url); in = hc.openinputstream(); int contentlength = (int)hc.getlength(); byte[] raw = new byte[contentlength]; int length = in.read(raw); in.close(); hc.close(); 132
133 Exemplos: comunicação HTTP O MIDlet String s = new String(raw, 0, length); mmessageitem.settext(s); } catch (IOException ioe) { mmessageitem.settext(ioe.tostring()); } mdisplay.setcurrent(mmainform); } } 133
134 Exemplos: comunicação HTTP A configuração 134
135 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Fazer um MIDLet onde o usuário digite uma temperatura em Fahrenheit e o programa transforme para o equivalente em celcius. C = (F-32)*5/9 135
136 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Novo Projeto 136
137 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Novo MIDLet visual 137
138 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Novo MIDLet visual 138
139 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans 139
140 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Criar dois formulários e alterar os nomes 140
141 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Inserir comandos para a navegação e execução 141
142 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Criar a navegação 142
143 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Desenhar as telas 143
144 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Desenhar as telas 144
145 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Desenhar as telas 145
146 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Inserir o código para conversão Colocar o código aqui 146
147 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Inserir o código para conversão 147
148 Exemplo:Desenvolvimento de uma aplicação visualmente pelo NetBeans Resultado 148
149 e Web Services O que é um Web Services É uma aplicação que existe em um ambiente distribuído, como a Internet. Um Web service aceita uma requisição, realiza a função requisitada e retorna uma resposta. Tanto a requisiçao quanto a pergunta, usualmente, são registradas em um documento XML (SOAP), e enviada sobre um protocolo de rede, como o HTTP. É uma nova forma de RPC. 149
150 e Web Services O que é um Web Services A codificação XML para as mensagens obedecem a especificação SOAP. SOAP: Simple Object Access Protocol. Um protocolo leve com o objetivo de trocar informação estruturada em um ambiente descentralizado e distribuído. Ele provê, por meio de XML, um meio de construir mensagens que podem ser trocadas sobre uma variedade de protocolos. 150
151 e Web Services Universal Description, Discovery, and Integration 151
152 e Web Services Java fornece uma api para manipular mensagens SOAP: JAX-RPC. JAX-RPC é uma tecnologia para construir Web services e clientes que usam chamadas remotas a procedimentos e XML. Com JAX-RPC, o desenvolvedor não precisa lidar com SOAP. JAX-RPC cria uma camada que elimina esta complexidade. 152
153 e Web Services No lado do servidor, o desenvolvedor especifica procedimentos remotos por meio da definição de métodos e interfaces Java. O desenvolvedor também codifica uma ou mais classes que implementam esses métodos. No lado cliente uma proxy é criada (um objeto local representando o serviço) o programa cliente invoca os método da proxy. 153
154 e Web Services WS-I Basic Profile Provê Compatibilidade Requer: HTTP binding for SOAP HTTP posts WSDL 1.1 RPC/literal ou document/literal 154
155 e Web Services WSA (Web Services API) JSR 172: Web Services API (WSA) Estende plataforma para suporte a WS através de duas características: Remote Service Invocation XML parsing 155
156 e Web Services WSA (Web Services API) Requer Conformidade ao WS-I Basic Profile. Suporta SOAP
157 e Web Services WSA não suporta: SOAP Message Attachments Message Handlers Bibliotecas para service end points UDDI (Universal Description, Discovery and Integration) 157
158 e Web Services WSA 158
159 e Web Services WSA 159
160 e Web Services Exemplo: Primeiramente desenvolveremos um WS, que será acessado posteriormente por uma aplicação. 160
161 e Web Services Exemplo: Passo: Criar uma aplicação Web 161
162 e Web Services Exemplo: Passo: Criar uma aplicação Web 162
163 e Web Services Exemplo: Passo: Criar um Web service 163
164 e Web Services Exemplo: Passo: Criar um Web service 164
165 e Web Services Exemplo: Passo: Adicionar um serviço 165
166 e Web Services Exemplo: Passo: Adicionar um serviço 166
167 e Web Services Exemplo: Passo: Adicionar um serviço 167
168 e Web Services Exemplo: Passo: testar o serviço 168
169 e Web Services Exemplo: Passo: Criar uma aplicação movel 169
170 e Web Services Exemplo: Passo: Criar uma aplicação movel 170
171 e Web Services Exemplo: Passo: Criar uma aplicação movel 171
172 e Web Services Exemplo: Passo: criar o cliente do Web Service 172
Uma Introdução ao. Computação Móvel (MAC5743/MAC330) Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro
Uma Introdução ao J2ME Computação Móvel (MAC5743/MAC330) DCC-IME-USP Prof. Alfredo Goldman Monitores: Rodrigo Barbosa Daniel Cordeiro Visão Geral do Java 2 (1) A plataforma Java 2 engloba três elementos:
Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP. Jorge H. C. Fernandes
Desenvolvimento de Sistemas Móveis em Java com J2ME/MIDP Jorge H. C. Fernandes Desenvolvimento J2ME/MIDP Agenda Plataforma e Edições Java 2 J2ME - Java 2 Micro Edition MIDP - Mobile Information Device
Programação para Celular com Java
1/13 Programação para Celular com Java Objetivo: Capacitar o aluno a desenvolver aplicações com o Sun Java Wireless Toolkit for CLDC. Sumário 1. Introdução:... 2 2. Como criar um novo Projeto?... 2 3.
Programação para Dispositivos Móveis. Prof. Wallace Borges Cristo
Programação para Dispositivos Móveis Prof. Wallace Borges Cristo Acesso a informação Notícias, Ringtones, Vídeos Messenger/Chat Jogos Acesso a instituições financeiras M-commerce (Mobile Commerce) Aplicações
Tutorial J2ME Parte 3
Introdução Tutorial J2ME Parte 3 Como pudemos aprender nos tutoriais anteriores, os dispositivos celulares podem implementar em seu sistema o KVM, a máquina virtual que roda aplicações J2ME. A API de programação
Java ME e suas principais tecnologias de conectividade. Gracieli Begia Mateus
Java ME e suas principais tecnologias de conectividade Gracieli Begia Mateus Telefones Celulares no Mundo Fonte: UIT e Wireless Intelligence (Ovum/GSM Association) Posição do Brasil no Mundo Principais
Roteiro. Linguagens, plataformas e ambientes de Desenvolvimento. Desenvolvimento de Aplicações para DM. Java. Linguagem C
Desenvolvimento de Aplicações para Dispositivos Móveis José de Ribamar Martins Bringel Filho Mestre em Ciência da Computação (UFC) bringel@cenapadne.br Roteiro Overview das Plataformas e Linguagens J2ME
Arquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas
Arquitetura Java ME (J2ME) & Tecnologias Java Embarcadas Relacionadas INF-455/655 Computação Móvel Universidade Federal de Viçosa Departamento de Informática Conteúdo 3 sabores para as plataformas Java
Programação Gráfica Parte 1 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano
Programação Gráfica Parte 1 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano Paulo V. W. Radtke pvwradtke@gmail.com http://www.ppgia.pucpr.br/~radtke/jogos/ AVISO IMPORTANTE!! Esta versão é dedicada exclusivamente
Java 2 Micro Edition (J2ME)
Java 2 Micro Edition (J2ME) por Filipe Gonçalves Barreto de Oliveira Castilho Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal fgonc@student.dei.uc.pt Resumo: Apresenta-se
J2ME, Uma Platarfoma de programação para Dispositivos Móveis
J2ME, Uma Platarfoma de programação para Dispositivos Móveis Jesseildo F. Gonçalves 07/10/2010 Jesseildo F. Gonçalves () 07/10/2010 1 / 50 1 Introdução ao J2ME História Arquitetura do J2ME MIDLets 2 RMS:
Computação Móvel J2ME
Computação Móvel J2ME Java 2 Platform (1) Java 2 Standard Edition (J2SE) Desktop applications Java 2 Enterprise Edition (J2EE) Server applications Java 2 Micro Edition (J2ME) Handheld/embedded devices
J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS
J2ME PLATAFORMA DE DESENVOLVIMENTO JAVA PARA DISPOSITIVOS MÓVEIS Ana Paula Carrion 1, Késsia Rita da Costa Marchi 1, Jaime Willian Dias 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil anapaulacarrion@hotmail.com,
UMA ABORDAGEM SOBRE J2ME
UMA ABORDAGEM SOBRE J2ME Júlio César Jardim Júnior 1, Elio Lovisi Filho (Orientador) 1 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rua Palma Bageto Viol, s/n Barbacena - MG.
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DEVELOPMENT OF SOFTWARE FOR MOBILE DEVICES 8º CICLO DE PALESTRAS DE INFORMÁTICA DA FAI
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS DEVELOPMENT OF SOFTWARE FOR MOBILE DEVICES ROBERTO JUNDI FURUTANI 1 JOSÉ LUIZ VIEIRA DE OLIVEIRA 2 8º CICLO DE PALESTRAS DE INFORMÁTICA DA FAI Resumo
Introducão à Tecnologia Móvel 1 UFU - BACALÁ
Introducão à Tecnologia Móvel 1 História do Celular 1921 (0G) O Departamento de polícia de Detroit instala rádios móveis operando em cerca de 2 MHz, nos carros. Problemas com o sistema devido a grande
DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME
DESENVOLVIMENTO DE UMA FERRAMENTA UTILIZANDO A TECNOLOGIA J2ME Ana Paula A. ZANELATO 1 Eliezer Gomes Paraganba FILHO 2 Emerson Silas DÓRIA 3 RESUMO: Este artigo pretende apresentar a tecnologia J2ME (linguagem
BrokerCell: programando celular com J2ME para cotar papéis na Bovespa
BrokerCell: programando celular com J2ME para cotar papéis na Bovespa Nairon Neri Silva 1, Luís Augusto Mattos Mendes(Orientador) 1 1 Ciência da Computação - Universidade Presidente Antônio Carlos (UNIPAC)
Como dito anteriormente, a JCP especificou dois grupos para a J2ME conforme as necessidades dos dispositvos, chamadas Configurações:
1 TECNOLOGIA J2ME A J2ME, Java Micro Edition, é uma tecnologia que permite o desenvolvimento de aplicações Java para dispositivos com poder de processamento, vídeo e memória limitados. Possui uma coleção
Conexão Socket na MIDP
Conexão Socket na MIDP A comunicação entre diferentes sistemas é comum na programação, e esta regra não desaparece na construção de aplicativos para pequenos dispositivos e, consequentemente, com o Java
ruirossi@ruirossi.pro.br
Java ME Introdução Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Fundamentos Edições do Java JSE JEE JME JSE JEE MIDP Nível de Perfil CDC CLDC Nível de Configuração
Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures
DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION
DESENVOLVIMENTO DE APLICATIVOS PARA CELULAR JAVA 2 MICRO EDITION Robison Cris Brito Centro Federal de Educação Tecnológica do Paraná Unidade de Pato Branco robison@pb.cefetpr.br RESUMO Engana-se quem acha
Arquitectura de Sistemas Computacionais
Arquitectura de Sistemas Computacionais Práticas 2004-2005 Prof. Dr. Paulo Sampaio Departamento de Matemática e Engenharias UNIVERSIDADE DA MADEIRA A plataforma Nokia Series 60 Optimizado para Symbian
Marcus Vinicius Cruz Xavier. Rascunho do trabalho de conclusão de curso
Universidade Federal de Santa Catarina Departamento de Informática e Estatística Curso de Bacharelado em Ciências da Computação Marcus Vinicius Cruz Xavier Rascunho do trabalho de conclusão de curso Título
Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas www.especializacao.info
Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas www.especializacao.info Crie a aplicação correspondente aos itens seguintes. Execute o programa e observe os
Arquitectura de Sistemas Computacionais
Arquitectura de Sistemas Computacionais Práticas 2004-2005 Prof. Dr. Paulo Sampaio psampaio@uma.pt Departamento de Matemática e Engenharias UNIVERSIDADE DA MADEIRA O ambiente J2ME MIDlets Bluetooth 1 Pacotes
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS Aluno: Fábio Bicalho de Araujo Orientador: Marco Antonio Grivet Matoso Maia Introdução Um fato da atualidade: o mundo está se tornando cada vez mais
Programação para Celular com Java Tipos de Tela
Programação para Celular com Java Tipos de Tela 1/18 Objetivo: Capacitar o aluno a desenvolver aplicações para celular utilizando janelas dos tipos Alert List Item : ChoiceGroup, DateField e ImageItem
Extensões MIDP para Web Services
Extensões MIDP para Web Services INF-655 Computação Móvel Universidade Federal de Viçosa Departamento de Informática MIDP Architecture MIDP = Mobile Information Device Profile Connection Framework HttpConnection
Manual de Operação Aplicativo ClickIt
Manual de Operação Aplicativo ClickIt Rev. 1.1 Agosto/2010 GSControl Automação Ltda. Rua Washington Luiz, 675 ITC Conjunto 1101 Centro Porto Alegre RS CEP 90010-460 Telefone: (51)3026-0945 / (51)3287-2167
Capítulo 15 - VendaRemota.java
Capítulo 15 - VendaRemota.java /* Java para Dispositivos Móveis - Desenvolvendo aplicações com J2ME por Thienne M. Johnson Novatec Editora LTDa ISBN: 978-85-7522-143-3 */ package principal; import conexao.getpostregistros;
INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO
INTEGRANDO A TECNOLOGIA J2ME NO ÂMBITO ACADÊMICO Ramon R. Rabello, Pedro J. Treccani, Thienne M Johnson Universidade da Amazônia, Av Alcindo Cacela, 287, Belém, PA CEP 66092-010 ramon.rabello@gmail.com,
CONECTIVIDADE. Desenvolvimento de Sistemas WEb Computação Móvel
CONECTIVIDADE Desenvolvimento de Sistemas WEb Computação Móvel Conectividade em Java ME Conectividade( redes) em Java ME: Flexível para suportar uma variedade de dispositivos Muitos dispositivos específicos
APIs PARA J2ME. JSR 120 (SMS), JSR 205 (WMAPI 2.0) e JSR 180 (SIP) TÓPICOS EM ENGENHARIA DE COMPUTAÇÃO V. Prof. José Mario De Martino
APIs PARA J2ME JSR 120 (SMS), JSR 205 (WMAPI 2.0) e JSR 180 (SIP) TÓPICOS EM ENGENHARIA DE COMPUTAÇÃO V Prof. José Mario De Martino ALUNO: Julian Mauricio Prada Sanmiguel RA: 079928 Grupo 6 1 ÍNDICE. ÍNDICE
Desenvolvimento para dispositivos móveis JavaME
Desenvolvimento para dispositivos móveis JavaME Marcio Seiji Oyamada Aula 1 UNIOESTE Universidade Estadual do Oeste do Paraná Curso de Informática Cascavel - Brasil Introdução Ementa Conceituação de mobilidade
Prime: uma solução Java para acesso móvel a informações utilizando GSM/GPRS
Prime: uma solução Java para acesso móvel a informações utilizando GSM/GPRS RENATO BARBOSA MIRANDA VALESKA PIVOTO PATTA MARCONDES Inatel - Instituto Nacional de Telecomunicações ICC - Inatel Competence
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)
Java. para Dispositivos Móveis. Thienne M. Johnson. Novatec. Desenvolvendo Aplicações com J2ME
Java para Dispositivos Móveis Desenvolvendo Aplicações com J2ME Thienne M. Johnson Novatec Sumário Agradecimentos...13 Sobre a autora...14 Prefácio...15 Apresentação...16 PARTE I Introdução a Java para
UNIDADE II JAVA SERVLETS
UNIDADE II JAVA SERVLETS INTERNET É uma rede de redes, reunindo computadores do Governo, de universidades e empresas fornecendo infra-estrutura para uso de bancos de dados, correio eletrônico, servidores
Associação Carioca de Ensino Superior Centro Universitário Carioca
Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos
Programação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava
FINAL: CÓDIGO-FONTE DA MIDLET
FINAL: CÓDIGO-FONTE DA MIDLET Para fins de conferência, seguem os códigos-fontes alterados. Este código-fonte encontra-se no arquivo chamado ColetorMIDlet.java: package coletor; import br.edu.estacio.produto;
Java para Desenvolvimento Web
Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para
Arcabouços de Software para Desenvolvimento de Aplicações Embarcadas. Herman Martins Gomes - hmg@dsc.ufcg.edu.br
Arcabouços de Software para Desenvolvimento de Aplicações Embarcadas Herman Martins Gomes - hmg@dsc.ufcg.edu.br Ementa Introdução a Dispositivos Móveis Portáteis, Aplicações Embarcadas e J2ME, Interface
Um pouco mais que Hello World
Um pouco mais que Hello World Leonardo Gall Este artigo tem como objetivo preparar não só um ambiente de desenvolvimento J2ME de uma maneira simples e prática, mostrando e explicando passo a passo tudo
Arquitetura de uma Webapp
Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação
Digifort Mobile Manual Version 1.0 Rev. A
Digifort Mobile Manual Version 1.0 Rev. A 2 Digifort Mobile - Versão 1.0 Índice Parte I Bem vindo ao Manual do Digifort Mobile 1.0 5 1 Screen... Shots 5 2 A quem... se destina este manual 5 3 Como utilizar...
J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr
J2EE Exemplo completo Utilização Servlet Instrutor HEngholmJr Page 1 of 9 AT09 Exemplo complete Utilização Servlet Version 1.1 December 5, 2014 Indice 1. BASEADO NOS EXEMPLOS DE CÓDIGO DESTA APOSTILA,
UNIVERSIDADE. Sistemas Distribuídos
UNIVERSIDADE Sistemas Distribuídos Ciência da Computação Prof. Jesus José de Oliveira Neto Web Services Web Services Existem diferentes tipos de comunicação em um sistema distribuído: Sockets Invocação
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS
DESENVOLVIMENTO DE SOFTWARE PARA DISPOSITIVOS MÓVEIS Aluno: Fábio Bicalho de Araujo Orientador: Marco Antonio Grivet Matoso Maia Introdução Um fato da atualidade: o mundo está se tornando cada vez mais
Felipe Guimarães (luiz.guimaraes@unibratec.edu.br)
Programação Mobile Luiz Felipe S. L. Guimarães luiz.guimaraes@unibratec.edu.br Tópicos Abordados Desafios do mundo mobile Tecnologias móveis, vantagens e desvantagens Introdução ao Java ME Ambiente de
Consumindo um Web Service através de uma Aplicação Comercial em Android. Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.
Consumindo um Web Service através de uma Aplicação Comercial em Android Alex Malmann Becker www.alex.porthal.com.br alex@porthal.com.br 08/2014 Agenda Introdução Conceitos Web Service Por que utilizar
3 Serviços na Web (Web services)
3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem
JSR 120 (SMS), JSR 205 (WMAPI 2.0) JULIAN PRADA SANIMIGUEL Grupo 6
JSR 120 (SMS), JSR 205 (WMAPI 2.0) e JSR 180 (SIP) JULIAN PRADA SANIMIGUEL Grupo 6 Protocolo SIP Desenho do Protocolo Funcionamento do Protocolo API JSR 180 (SIP) Exemplos Protocolo de iniciação de sessão
Universidade da Beira Interior
Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação
Marco Aurélio malbarbo@din.uem.br. Uma Visão Geral Sobre Plataforma Java
RedFoot J Dukes Uma Visão Geral Sobre Plataforma Java Marco Aurélio malbarbo@din.uem.br 1 Roteiro Objetivos Plataforma Java Linguagem de Programação Maquina Virtual Tecnologias Conclusão 2 Objetivos Geral
Kassius Vargas Prestes
Kassius Vargas Prestes Agenda 1. Introdução Web Services 2. XML, SOAP 3. Apache Tomcat 4. Axis 5. Instalação Tomcat e Axis 6. Criação de um Web Service 7. Criação de um cliente Baixar http://www.inf.ufrgs.br/~kvprestes/webservices/
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
4 MODELAGEM DA APLICAÇÃO J2ME
4 MODELAGEM DA APLICAÇÃO J2ME O Sistema de Apoio Policial tem como objetivo facilitar o trabalho da Polícia Militar. Utilizando tecnologias recentes descritas nos capítulos anteriores, este sistema propõe
UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DETEC DEPARTAMENTO DE TECNOLOGIA
UNIJUI - UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DETEC DEPARTAMENTO DE TECNOLOGIA AMBIENTE PARA DESENVOLVIMENTO DE APLICATIVOS PARA DISPOSITIVOS MÓVEIS COM SISTEMA OPERACIONAL
Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse
Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web
PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M
JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):
Interfaces Dinâmicas e Adaptativas para Celulares
Interfaces Dinâmicas e Adaptativas para Celulares Flavio Henrique Cardoso de Freitas, Silvano Maneck Malfatti Faculdade Católica do Tocantins (FACTO) Palmas TO Brasil {flaviohcf,silvanomalfatti}@hotmail.com
1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO
1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO
Desenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Arquitetura de Aplicações Distribuídas na Web Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Diamond Powder - um framework Java ME para coleta de dados
Artigo GUJ.com.br Diamond Powder - um framework Java ME para coleta de dados Autor Renato Bellia: é formado em Engenharia de Computadores, trabalha com Java EE a mais de 08 anos, e atualmente está utilizando
MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick
MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento
Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br
Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia
Daniel Ricardo dos Santos Diogo de Campos Mauricio Oliveira Haensch. Desenvolvendo Jogos com Java ME
Daniel Ricardo dos Santos Diogo de Campos Mauricio Oliveira Haensch Desenvolvendo Jogos com Java ME Daniel Ricardo dos Santos Diogo de Campos Mauricio Oliveira Haensch Desenvolvendo Jogos com Java ME PET
Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de
JXTA. Alessandro Vasconcelos Ferreira de Lima. avfl@cin.ufpe.br
JXTA Alessandro Vasconcelos Ferreira de Lima Roteiro Motivação Introdução Arquitetura de JXTA Elementos de JXTA Os Protocolos Comparações e Desvantagens Conclusão Motivação Limitações do Modelo Cliente
Um pouco do Java. Prof. Eduardo
Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.
Programação Web Aula 12 - Java Web Software
Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código
SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados
SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados Acadêmico: Bernardo Marquardt Müller Orientador: Prof. Dr. Mauro Marcelo Mattos Roteiro
Invocação de Métodos Remotos
Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso
Orientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação
JavaNoroeste Grupo de Usuários Java do Noroeste Paulista. A tecnologia Java do mundo corporativo ao dispositivo móvel
JavaNoroeste Grupo de Usuários Java do Noroeste Paulista A tecnologia Java do mundo corporativo ao dispositivo móvel Carlos Fernando Gonçalves Mestre em Engenharia de Computação, área de concentração Engenharia
Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres.
Módulo I - Introdução Aula 2 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Graduado em Ciência da Computação pela UFC, Brasil
Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/
Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.
Manual de Instalação do Agente Citsmart
16/08/2013 Manual de Instalação do Agente Citsmart Fornece orientações necessárias para efetuar a instalação do Agente Citsmart. Versão 1.9 21/11/2014 Visão Resumida Data Criação 21/11/2014 Versão Documento
Desenvolvendo Aplicações Web com NetBeans
Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo
Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da
Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a
KLEBER MORO SAMPAIO ACESSO A BANCO DE DADOS EM DISPOSITIVOS MÓVEIS UTILIZANDO J2ME
FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO KLEBER MORO SAMPAIO ACESSO A BANCO DE DADOS EM DISPOSITIVOS MÓVEIS UTILIZANDO
5 Mecanismo de seleção de componentes
Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações
Autenticação e Autorização
Autenticação e Autorização Introdução A segurança em aplicações corporativas está relacionada a diversos aspectos, tais como: autenticação, autorização e auditoria. A autenticação identifica quem acessa
Tutorial Java ME. Deixe o JME surpreender você também! Porque programar com 1 GB de RAM é fácil!! Neto Marin
Deixe o JME surpreender você também! Porque programar com 1 GB de RAM é fácil!! Neto Marin Apresentação Experiência com Java desde 2002 (SCJP): Atuando com mobilidade desde 2005 P&D do Mobile Sys da Softway
Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments
Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde
Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes
Criando e Entendendo o Primeiro Servlet Por: Raphaela Galhardo Fernandes Resumo Neste tutorial serão apresentados conceitos relacionados a Servlets. Ele inicial como uma breve introdução do funcionamento
FBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira
ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes
Android Básico Hello World!
Android Básico Hello World! Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio
Introdução a Linguagem
Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)
Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Web Container: e JSP Sumário Protocolo HTTP Exemplos de JSP (Java Server Pages) Exemplos JSP 2 Protocolo HTTP URL: Um URL (Uniform
ANDRÉ LUIS GUIMARÃES CRUZ UM FRAMEWORK JAVA PARA DISPOSITIVOS WIRELESS
FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO ANDRÉ LUIS GUIMARÃES CRUZ UM FRAMEWORK JAVA PARA DISPOSITIVOS WIRELESS
Introdução ao IDE Netbeans (Programação Java)
Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Java e Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas necessários...
Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Instalação do IBM SPSS Modeler Server Adapter
Instalação do IBM SPSS Modeler Server Adapter Índice Instalação do IBM SPSS Modeler Server Adapter............... 1 Sobre a Instalação do IBM SPSS Modeler Server Adapter................ 1 Requisitos de
FileMaker Pro 13. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13
FileMaker Pro 13 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 13 2007-2013 FileMaker Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,
Tutorial 1.0. Instalação
Tutorial 1.0 Instalação Índice Requisitos Instalando Android SDK Instalando Eclipse Instalando Plugin ADT no Eclipse Requisitos Para a instalação do SDK é necessário ter no minímo versão Java 6 (Standard