Desenvolvimento mobile no Linux – dispositivos antigos

Share

Neste post, ensinarei a instalar o kit de desenvolvimento para dispositivos móveis, para aqueles celulares mais simples que suportam Java, ou J2ME, usando a configuração CLDC.

Não abordarei a instalação de cada componente – como a instalação do NetBeans – visto que este procedimento é simples e não necessita de detalhes. Ensinarei a instalar o pacote Java ME SDK e o plugin Java ME para o NetBeans em sistemas Linux.
Também não abordarei a instalação do Java JDK, necessário para os procedimentos seguintes e para o desenvolvimento. Procure em seu gerenciador de pacotes ou visite o site oficial (JDK 8):
A partir deste ponto, o JDK e a IDE NetBeans devem estar devidamente instalados e funcionando corretamente.
Marque a caixa de seleção Accept License Agreement e em seguida baixe o arquivo “sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh”
OBS:. Talvez seja necessário criar uma conta Oracle para baixar o kit. Se for o caso, faça o registro e baixe o kit acima.

Para sistemas de 64 Bits:

O Java ME SDK para Linux requer o JDK para 32 bits. Neste caso, baixe a versão 32 bits no link abaixo:
Marque a caixa de seleção Accept License Agreement e em seguida baixe o arquivo “jdk-8u31-linux-i586.tar.gz” (JDK 8).
No Ubuntu/Mint 64 bits, precisamos instalar os seguintes pacotes para o funcionamento do emulator:

1
sudo apt-get install libxtst6:i386 libxt6:i386 libxi6:i386 libxrender1:i386
Com o arquivo localizado em ~/Downloads/jdk-8u31-linux-i586.tar.gz, extraia ele para uma pasta qualquer em sua pasta pessoal. Para fins de demonstração, vou considerar a pasta /home/user.

 

1
tar -zxvf jdk-8u31-linux-i586.tar.gz

 

Com o kit em sua pasta ~/Downloads, entre na pasta pelo Terminal com o comando cd e dê permissão de execução e execute-o:

 

1
2
3
cd ~/Downloads
chmod 755 sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh
$ ./sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh

Na primeira tela sobre a Licença, pressione ‘q’ e digite ‘yes’ para aceitar.
Em seguida, o instalador pede para que você especifique o JDK que irá utilizar para desenvolvimento.

2 suitable Java interpreters were detected
0) Use /usr/lib64/java/bin/
1) Use /usr/lib64/java/jre/bin/
2) Specify a path to a Java interpreter directory.
3) Cancel this installation.
Select a choice [0-3]: 

Se você usa sistema de 32 bits, deixe a opção padrão; apenas pressione 0 para confirmar.

Para 64 bits, devemos especificar o JDK 32 bits que descompactamos na pasta pessoal antes. Nesse caso, selecione a opção 2.

Para 64 Bits:

This application requires Java 2 SDK, Standard Edition (1.5 or later). Enter a path to a Java 2 SDK (For example: /user/jdk1.5/bin). You can type "exit" to cancel installation.
Enter a path to the Java 2 SDK: /home/ruan/jdk1.8.0_31/bin

Especifique a pasta onde foi descompactado o JDK 32 bits. No nosso exemplo, utilizei o caminho /home/ruan/jdk1.8.0_31/bin

Prosseguindo, o instalador pede o local onde será instalado o Java ME SDK. No nosso exemplo, vou utilizar a pasta pessoal:
Please enter a directory into which you would like to install the Sun Java(TM) Wireless Toolkit, 2.5.2 for CLDC.
[ default is /home/ruan/MEGA/Downloads/WTK2.5.2 ]: /home/ruan/WTK2.5.2
O próximo passo é se você deseja receber atualizações para o Java Wireless Toolkit para CLDC. Basta digitar ‘yes’.
Check for Product Updates
Sun Java(TM) Wireless Toolkit for CLDC includes Check for Product Update feature.
This feature will be active every 7 days and will inform you about the new Product Updates.
No personally identifiable data such as name, address, or e-mail address will be collected. You can disable this feature later in Preferences.
The information collected by Product Update includes the following:
* Operating system
* Country  and Language setting on your computer
* Date and version of the Wireless Toolkit that you are about to install
* Unique random user ID generated by the Wireless Toolkit
Collected data will be used for future improving of the product.
Please read Sun's Privacy Policy at http://www.sun.com/privacy/index.html
Check for Product Updates? [yes or no] yes

 

Agora o instalador mostra as seleções que fizemos nos passos anteriores. Verifique e, se estiver tudo Ok, pressione 0. Caso contrário, pressione 1 e retorne aos passos anteriores.
Setup has enough information to start copying the program files.
Current Settings:
Destination Directory
    /home/ruan/WTK2.5.2/
JVM Folder
    /home/ruan/jdk1.8.0_31/bin/
Check for Program Updates
    Enabled
Please choose one of the following options:
0) Begin copying files if you are satisfied with the settings .
1) Cancel the installation.
Select a choice [0-1]: 0
Se a instalação foi bem sucedida, você verá a seguinte tela:
Checksumming...
Extracting the installation files...
Documentation for the Sun Java(TM) Wireless Toolkit 
2.5.2 for CLDC is in the file
  /home/ruan/WTK2.5.2/index.html
In order to start using the Sun Java(TM) Wireless Toolkit 2.5.2 for CLDC, please run
  /home/ruan/WTK2.5.2/bin/ktoolbar
Para testar o CLDC, rode o comando abaixo:
1
~/WTK2.5.2/bin/ktoolbar

Vai aparecer a seguinte janela:

Parabéns!!! Se você chegou até aqui é meio caminho andado, agora vamos instalar o plugin para a IDE NetBeans! :-)

 Instalando Plugin Java ME no NetBeans

Para seguir esta etapa, tenha certeza que o Java Wireless Toolkit 2.5.2esteja instalado corretamente e que a execução do ktoolbar foi bem sucedida!
Primeiramente, devemos baixar o plugin para NetBeans no link abaixo:
Marque a caixa de seleção Accept License Agreement e em seguida baixe o arquivo “oracle-jmesdk-8-1-rr-nb-plugins.zip”
Descompacte o arquivo baixado e abra o NetBeans. Siga os passos seguintes:
  1. No NetBeans, vá até a opção Ferramentas > Plug-Ins;
  2. Selecione a aba “Obtidos por Download”;
  3. Clique em “Adicionar Plug-Ins…”;
  4. Procure a pasta que você descompactou e, dentro dela, selecione todos os arquivos .nbm;
  5. Para selecionar todos, segure shift e vai clicando sobre os arquivos .nbm, até que todos estejam selecionados;
  6. Clique em Abrir e depois em Instalar.
Pronto! Plugins instalados!!! Agora devemos configurar o Emulator para emular aplicativos móveis dentro do NetBeans.
Siga os passos seguintes:
  1. No NetBeans, vá até a opção Ferramentas > Plataformas Java;
  2. Selecione a opção “Adicionar Plataforma…”;
  3. Marque a caixa de seleção Emulador de Plataforma Java ME CLDC e clique em “Próximo”;
  4. Agora selecione a pasta WTK2.5.2, que extraímos para a pasta pessoal (/home/user);
  5. Selecione a caixa de seleção que indica o caminho para a pasta WTK2.5.2, e clique em Finalizar”;
  6. Clique em Fechar”;
Mais um passo concluído! Agora vamos construir nosso primeiro aplicativo móvel titulado de “Hello World”! :-)

Hello World!

Com o NetBeans aberto, vamos criar um novo projeto.
Clique em Arquivo > Novo Projeto.
Em Categorias, escolha a opção Java ME. Em Projetos, escolha Mobile Application;
Em Project Name digite: Hello World
Em Emulator Platform deixe selecionado o emulator que criamos nos passos anteriores;
Em Device podemos escolher alguns tipos de Skins para o emulator. Para este momento deixe o DefaultColorPhone;
Em Device Configuration e em Device Profile deixaremos a seleção padrão (CLDC-1.1, MIDP-2.1);
Na última tela, deixe selecionado a configuração padrão (User saved project configuration templates);
Clique em “Finalizar”;
 
Agora você verá o seguinte código na tela:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package helloworld;
import javax.microedition.midlet.*;
/**
 * @author ruan
 */
public class Midlet extends MIDlet {
    public void startApp() {
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
}

 

Esse é o código padrão quando criamos um projeto em Mobile Application. Experimente fazer as seguintes modificações:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/**
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package helloworld;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;
/**
 * @author ruan
 */
public class Midlet extends MIDlet implements CommandListener {
    private final String mensagem;
    private final Display tela;
    private final TextBox txtMensagem;
    private final Command cmdSair;
    
    /* Método construtor para inicializar os atributos */
    public Midlet() {
        this.mensagem = "Meu primeiro App"
                      " para dispositivos "
                      " móveis! :-) ";
        
        this.tela = Display.getDisplay(this);
        this.txtMensagem = new TextBox(
            "Olá mundo", mensagem, 250,
                TextField.ANY);
        
        this.cmdSair = new Command("Sair",
                Command.EXIT, 0x1);
        
        txtMensagem.addCommand(cmdSair);
        txtMensagem.setCommandListener((CommandListener) this);
    }
    public void startApp() {
        tela.setCurrent(txtMensagem);
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
    public void commandAction(Command c, Displayable d) {
        if (c == cmdSair) {
            destroyApp(true);
            notifyDestroyed();
        }
    }
}

 

Depois da modificação acima, encontre o HelloWorld no canto esquerdo na aba “Projetos”. Clique com o direito sobre o nome HelloWorld e escolha a opção “run”.
 
Agora o seu código será compilado e executado pelo emulador.
Quando a telinha de celular aparecer na tela, vai aparecer uma lista com apenas 1 item na tela. O item que aparece é o “Midlet”, pois criamos apenas um arquivo .java com este nome no mesmo package. Podemos criar vários arquivos.
Bom,  no celular virtual, pressione a primeira tecla da direita para escolhermos a opção “Launch”, assim irá executar o app que acabamos de criar.
Se tudo ocorrer de acordo com o tutorial, você verá a tela abaixo:
É isso! :-)
Finalizamos aqui a instalação & configuração do ambiente de desenvolvimento para dispositivos móveis no Linux!
Artigo enviado por Ruan

Quer continuar por dentro das novidades do Blog Seja Livre? Siga o nosso perfil no TWITTER, curta a nossa página no FACEBOOK ou adicione o Blog Seja Livre nos seus círculos do GOOGLE+.