Archive for the ‘Java 2 Micro Edition (J2ME)’ Category

Saiba tudo sobre mídia em Java ME e BlackBerry

Sexta-feira, Fevereiro 5th, 2010

Boa tarde..

Queria compartilhar um excelente texto que encontrei com uma vasta quantidade de informações sobre a Mobile Media API (pacote opicional da plataforma Java ME), com foco em aparelhos BlackBerry. Porém, a grande maioria do aprendizado serve para qualquer telefone javame-enabled.

O texto se chama BlackBerry Java Application Multimedia. Development Guide.

Ele trata inclusive do uso do OpenGL em Java ME…

Bons estudos..

Att.
Ping

Postando mídias em seu blog com a MMAPI

Sexta-feira, Fevereiro 5th, 2010

Bom dia..

Gostaria de compartilhar o texto “The Basics of the MMAPI for Java Developers” com vocês. Ele fala sobre os aspectos básicos do pacote opcional Mobile Midia API, da plataforma Java ME. No final do texto o aturo mostra como postar em blogs o conteúdo de mídia capturado com esta API. Bem interessante..

Bons estudos..

Att.
Ping

Dica de leitura: interface em Java ME

Quinta-feira, Fevereiro 4th, 2010

Boa tarde pessoal..

Queria deixar aqui uma dica de leitura. Na verdade não se trata de um texto, mas sim de uma apresentação. O título do trabalho é “Java ME: User Interface Development”. O autor fala de forma rápida, mas bem interativa, sobre as ferramentas e possibilidades de interfaces em Java ME, como Screen, Canvas, SVG, 3D e Imagens Vetoriais.

Bom estudo a todos..

Att.
Ping

iPad e Java

Quarta-feira, Fevereiro 3rd, 2010

Bom dia..

O lançamento do iPad da Apple agitou o mundo como conhecemos hoje, porém, não vou fazer uma análise do mercado ou, falar sobre suas características. Isso, os amigos irão enconrar aos montes em sites melhores que este aqui :). Então porque estou falando dele ora bolas? Toquei no assunto porque quero indicar a leitura do texto “The iPad and what it means for Java“.

O texto é forte e direto.. veja este parágrafo:
So Java ME (not counting the nonstandard KVM that underlies Android) has essentially been locked out of the emerging smartphone market, being restricted to the second-tier “feature phone” market that doesn’t have a long-term future. And if this new model of computing takes hold, Java may be forever banished from the desktop (or the future’s desktop equivalents) as well. Which leaves the server, which is probably never going to be made a slick, locked down appliance — or if it is, it will be one built by Oracle with Java at its core. It’s not a terrible future for the platform, but it is one that’s a lot more limited than the initial vision for it.

Leia o texto e entenda porque o autor (Josh Fruhlinger) faz esta previsão sombria para desenvolvedores java e java me.

Comentários são bem vindos..

Att.
Ping

Criando itens de menu em aplicativos nativos com a BlackBerry API

Quarta-feira, Dezembro 9th, 2009

Boa tarde..

Pessoal, fiz um pequeno tutorial que ensina como criar itens de menu em aplicativos nativos do BlackBerry, utilizando a BlackBerry API.

O título do texto é: Criando itens de menu em aplicativos nativos com a BlackBerry API.

Boa leitura..

Att.
Ping

Aprenda a usar a Java Location API e a Scalable 2D Vector Graphics API for J2ME (JSR 226)…

Segunda-feira, Dezembro 7th, 2009

Boa tarde..

Fica a dica de leitura: “Using Location-Enabled MIDlets for Mobile Navigation“.

Deixo a introdução do texto:

Location information has become fairly easy to access nowadays, even on mobile devices. The widespread availability of GPS chipsets such as the SiRF chipsets, which are accurate to within a few meters, as well as the significantly lower costs of these products, have contributed to the accessibility. The Location API for J2ME (JSR 179) even makes it very easy for developers to integrate location information into mobile applications.

This article illustrates how to combine JSR 179 and Scalable Vector Graphics (SVG) to provide navigation for a GPS-enabled mobile device. The application will employ the Scalable 2D Vector Graphics API for J2ME (JSR 226) and a MIDlet. As an example, the article provides and refers to a sample NetBeans project for a college “campus navigation” application.

Boa leitura…
Att.
Ping

Serviços REST, Twitter e Java ME

Sexta-feira, Dezembro 4th, 2009

Boa noite..

Há alguns meses, o blog Mobilidade é Tudo promoveu uma promoção onde foram sorteadas 5 assinaturas digitais da revista Java Magazine. Bem, para participar da promoção os leitores deste blog poderiam enviar sugestões de post, sendo que, uma delas já foi cumprida, veja o post “Um Pouco Sobre Tablets“.

Bem, hoje vou falar sobre um tema que foi idéia do meu amigo Marcel, do blog Mobideia. Transcrevo aqui a dica do Marcel: Gostaria de ver um tutorial aqui de JavaME para acessar serviços REST (um bom exemplo seria acessar o Twitter) com o JavaME. Outro tutorial legal seria uso de JavaFX mobile, para quem está começando! E por fim um tutorial que eu gostaria de ver o uso de JavaME para jogos multiplayer (com mais de 2 de jogadores)!

Vamos por partes :). Sobre o JavaFX, aconselho a leitura do artigo “Conhecendo a Plataforma JavaFX Mobile“, que escrevi para a revista Mundo Java, na edição de Maio de 2009. Mas quem sabe posteriormente vamos colocar uns posts no blog sobre esta linguagem.

Sobre os jogos multiplayer a dica é a mesma. Nas edições 21 e 22 da revista WebMobile, eu e o Robison, ensinamos como criar um jogo Bluetooth entre celular e PC. Mas, também pretendo criar alguns posts sobre este tema daqui um tempo.. :).

Sobrou o assunto dos serviços REST e do twitter. Infelizmente o Java ME não tem um suporte muito legal para serviços REST, isso porque, na grande maioria das implementações do protocolo HTTP na JVM, não existe suporte as quatro operações do protocolo: POST, GET, PUT e DELETE. O REST (Representational State Transfer), que pode ser resumido como um padrão usado em webservices, que fazem uso exclusivo protocolo HTTP para a comunicação. Porém, podemos encontrar algumas implementações de terceiros para uso de serviços REST em Java ME. Dentre os que encontrei, talvez o mais completo seja o descrito no texto “J2ME REST Client“.

Segundo o autor:
Unfortunately J2ME does not provide the best basis for writing a REST Web Service. As I already mentioned in previous posts the J2ME reference implementation does not support all HTTP methods. To overcome this restriction I wrote a J2ME Rest Client that uses HTTP method emulation like Rails does. Even though I heard that some J2ME platforms support PUT and DELETE I decided to use the standard. Method emulation may become a challenge if you’re not talking to your own services since it require a suitable server implementation like I posted for Grails earlier.

————————————————————

Mas, para twiter eu tive mais sorte na minha pesquisa. Encontrei a biblioteca Twitter API ME, criação de Ernandes Mourão Júnior, mantenedor do blog j2megroup. A biblioteca é simplesmente fantástica, você pode baixar uma aplicação de teste aqui. Pra comprovar que funciona coloquei duas capturas de tela.

A primeira, mostra o twitter do Rubinho Barrichello.. capturada as 20:00 do dia 04/12/2009.



A segunda imagem é a tela do emulador executando na IDE NetBeans.



No aplicativo exemplo eu criar um parser para buscar somente os textos com a palavra “amanha” e, do usuário rubarrichello.

Esta aplicação exemplo traz uma aplicação um pouco mais complexa, porém, vejam que barbada que é pra usar a API:

Now let’s show some code. This example demostrates how to search for all the tweets sent by a given user (e.g. me) and that contains the word “F1″ (we will get a lot of results :-)):


SearchDevice sd = SearchDevice.getInstance();
Query q1 = QueryComposer.from(”ernandesmjr”);
Query q2 = QueryComposer.contain(”F1″);
Query q3 = QueryComposer.append(q1, q2);
Tweet[] result = sd.searchTweets(q3);
for (int i = 0; i < 0; i++) {
list.append(result[i].getString(MetadataSet.TWEET_CONTENT), null);
}
...

Let’s search for tweets that references or mentions a certain person. In additional, we will request to Twitter Search API to return up to 5 tweets:


SearchDevice sd = SearchDevice.getInstance();
Query q1 = QueryComposer.reference(”ernandesmjr”);
Query q2 = QueryComposer.resultCount(5);
Query q3 = QueryComposer.append(q1, q2);
Tweet[] result = sd.searchTweets(q3);
for (int i = 0; i < 0; i++) {
System.out.println(result[i].getString(MetadataSet.TWEET_CONTENT));
System.out.println(result[i].getString(MetadataSet.TWEET_PUBLISH_DATE));
}
...

O único porém é que, nesta versão da API ainda não é possível enviar mensagens pro twitter, mas, na próxima versão essa funcionalidade já estará presente também..

————————————————————

Marcel e todos leitores, espero que tenham gostado.. e parabéns pro Ernandes Mourão Júnior pela sua biblioteca..

Att.
Ping

Conexões HTTP e Socket em aparelhos BlackBerry

Quinta-feira, Dezembro 3rd, 2009

Boa tarde..

O site JavaFree publicou o artigo Conexões HTTP e Socket com BIS BES WAP Wi-Fi e TCP APN em aplicações BlackBerry. O texto é muito bom porque explica as peculiaridades das conexões HTTP em programas Java ME para aparelhos BlackBerry.

Os três primeiros parágrafos já dão uma ótima idéia do que é tratado no texto:

Explicarei nesse artigo como preparar sua aplicação para usar conexões com a Internet de forma funcional, decidindo se deve usar transporte por BES (BlackBerry Enterprise Server), BIS (BlackBerry Internet Server), WAP, conexão direta pelo device TCP (APN), ou Wi-fi.

A grande maioria dos desenvolvedores BlackBerry já passaram por esse problema. Inicialmente todos desenvolvedores pensam que basta criar uma conexão normalmente, e tudo estará resolvido. Até que começar a ter os erros ” Invalid Tunnel ” ou ” Can ‘ t Open Connection “, ou erros semelhantes. Esses erros ocorrem pois a conexão não foi configurada corretamente na aplicação, e ela está tentando usar uma conexão indisponível no device.

Nos outros celulares, quando fazemos uma conexão com a Internet em nossa aplicação, o próprio celular pergunta ao usuário qual conexão ele deseja usar, se WAP, ConnectFast, Wi-fi, etc. No BlackBerry não é assim, em cada conexão você precisa definir qual será o meio de transporte dos dados.

—————————–

Para desenvolvedores Java ME é vital saber disso…

Att.
Ping

Uma boa alternativa ao XML…

Quarta-feira, Dezembro 2nd, 2009

Boa tarde..

Gostaria de deixar a dica para a leitura do artigo “Using JavaScript Object Notation (JSON) in Java ME for Data Interchange“, de C. Enrique Ortiz.

A troca de informações entre um aplicativo móvel e servidores é uma parte essencial na grande maioria dos software produzidos. Porém, nós programadores, estamos sofrendo com a utilização de formatos de troca de dados como o XML, isso devido ao seu tamanho um pouco saturado para o ambiente restrito da computação móvel. O artigo que indiquei fala justamente de uma opção chamada json, que é mais leve e mais simples, tornando-se uma ótima pedida para Java ME (e outras plataformas móveis)..

Segundo Ortiz.. An alternative to consider is the JavaScript Object Notation or JSON, a lightweight data-interchange format. In this article I introduce JSON for data interchange in the Java Platform, Micro Edition (Java ME).

JSON is defined as part of JavaScript (ECMAScript) scripting language. Being native to JavaScript, JSON is ideal for browser-based applications. But JSON is not limited to JavaScript, and its lightweight characteristics make it very attractive for mobile and embedded applications in general.

Aliás.. quem usa json no lugar de xml para troca de informações entre Java ME e servidores diz que tomou uma decisão acertadíssima.

Boa leitura..

Att.
Ping

Aplicativos Java ME como wallpaper´s

Segunda-feira, Outubro 19th, 2009

Bom dia..

Encontrei um post muito interessante no site de desenvolvedores da Sony Ericsson, chamado “How to create a standby MIDlet for Java Platform 7 (JP-7) phones“.

Eu também não acreditei muito ao ler o texto, quero testar ainda hoje isso, mas o fato é que a Sony diz que é possível escolher um aplicativo Java ME como wallpaper do device. Ou seja, no lugar de uma foto, uma MIDet.

With the new Sony Ericsson Java Platform 7 (JP-7) phones such as the K610, K800, K790 and W850, a new feature that lets the developer enable a MIDlet as a standby application is introduced. This functionality will be included in JP-7 phones after the initial market release. Just as the end-user can assign pictures and themes as wallpaper it is now also possible to select Java applications for this purpose. This standby MIDlet is handled by the application manager, and is started when the phone enters the standby mode. It is stopped when the user selects another wallpaper, theme or picture.

Não acredita ainda?



Eu ainda vou testar pra ter certeza.. mas se funcionar, muito legal essa funcionalidade..

Alguém já fez isso?

Att.
Ping