Mobilidade Sem Limites: Acessando APIs do Android®

Falamos neste post anterior sobre a possibilidade de se expandir os recursos disponíveis no Magic xpa 2.2a, através de acesso direto à API das plataformas dos dispositivos móveis. Agora, vamos mostrar um exemplo prático. Este exemplo será relacionado à API do Android®.

É um exemplo simples, e o objetivo é podermos consultar as características (tamanho e espaço livre) do cartão SD do dispositivo (smartphone ou tablet).

Como mostrado no post anterior, teremos de alterar o arquivo de programa TestApplication.java, adicionar nossa customização através de código Java, e em seguida gerar um novo RIA Client Mobile para Android.

 

No arquivo de programa (TestApplication.java) temos de adicionar dois imports:

import       android.os.Environment;              // Para a classe “Environment”

import       android.os.StatFs;                              // Para a classe “StatFs”

 

Na função “userDefinedFunction”, adicionamos o seguinte código:

String result = “”;

try {

// Verifica o tamanho e espaco disponivel no “SD Card”

StatFs stat = new             StatFs(Environment.getExternalStorageDirectory().getPath());

long bytesAvailable = (long)stat.getBlockSize() * (long)stat.getAvailableBlocks();

long bytesTotal = (long)stat.getBlockSize() * (long)stat.getBlockCount();

result = String.valueOf( bytesTotal ) + “/” + String.valueOf( bytesAvailable );

} catch (Exception e) {

result = e.getMessage();

}

return result;

O retorno deste código será uma string com dois valores separados por “/”, sendo o da esquerda o tamanho total, e o da direito o espaço atualmente livre. Em caso de alguma exceção, retorno o descritivo desta exceção. Observe que é importante proteger o código dentro de um bloco try…catch, para que qualquer exceção ocorrida não chegue até o client Magic xpa.

O código final fica mais ou menos assim:

Em seguida, após compilar um novo RIA Client Mobile para Android, procedemos a instalação do mesmo:

e abrimos a aplicação:

Ao clicar no botão “Verificar”, será executada a função ClientOSEnvGet (‘device_udf|.‘), que por sua vez acionará o nosso código customizado ( o argumento “.” não será utilizado neste exemplo ), retornando as informações do cartão SD:

Neste endereço você poderá baixar esta aplicação demo, bem como o client customizado já compilado. Esta demo foi gerada com o Magic xpa 2.2a.

 

 

Manoel Frederico - Gerente de Produto e Magic Evangelista
Manoel Frederico – Gerente de Produto e Magic Evangelista

 

2 comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *