GENESIS DE APLICATIVOS SUSTENTAVEIS COM ANDROID
SOUZA, Ricardo Luíz Mendonça (UFU – [email protected])
TEIXEIRA, Màyra Mundim (UFU – [email protected])
RESUMO: Desenvolver aplicativos para a plataforma de software Android requer o conhecimento das estruturas mais básicas e triviais da tecnologia, desde a preparação da IDE para o desenvolvimento até a localização dos plug-ins e API mais utilizadas e difundidas pela internet. Utilizando a metodologia de caminho único ou activity apresentado por (Frank W. Ableson et al, 2012, pág 66) este trabalho visa desenvolver um aplicativo para controle de faltas chamado de Genesis como estudo de caso demonstrando assim e discutindo as principais formas e características de desenvolvimento para Android, a utilização da API Robotium para execução dos testes funcionais de tela alcançando também como parte do projeto a promoção da sustentabilidade no corte de uso de folhas impressas para consulta das presenças, economia de água e energia no gasto de plantio de reservas de árvores para produção de folhas.
Palavras-chave: Android, Robotium, Sustentabilidade.
INTRODUÇÃO
A plataforma de software Android tem aquecido não somente a indústria de hardwares que suportam essa plataforma, mas também alavancado o desenvolvimento de aplicativos para diversos seguimentos de negócios, fomentando a sua popularidade por aplicativos sem ou de baixo custos, por uma plataforma livre oferecendo ricas interfaces para os usuários e uma nova forma de interação possibilitados pelos recursos de hardwares como relata a Open Handset Alliance (2012) que mantém aliança com o Google no esforço e aprimoramento do Android.
O campo da pesquisa também encontra-se de extremas mãos dadas com as novas formas de se produzir tecnologias para os hardwares moveis abrindo horizontes para a aplicação da tecnologia em prol da sustentabilidade assim como discutido no evento “Polo Verde de T.I. do Rio de Janeiro” (2012) e também na “Rio+20”(2012) sobre o desmatamento zero, novo código florestal e as novas forças de se gerar emprego. O uso dos Tablets e da tecnologia para a substituição de papel impresso em uma tela tem sido relevantemente apoiado e discutido, mesmo que a principio
seja visto um abrasão ao conter o crescimento das empresas do segmento e o desemprego parcialmente estimulado no mercado de papel. Suzana Kahn (2012) na Rio+20 avalia as propostas do Greenpeace como geração de empregos altamente qualificados em futuro próximo para o segmento tecnológico sustentável – “É tirar algo desgastante de um lado, mas repor de outro mais qualificado e gerando mais rendas” declara.
Assim como toda novidade e massificação das tecnologias a plataforma Android conta com intermináveis API’s em desenvolvimento e aprimoramento onde também discute-se neste projeto a API de testes funcionais Robotium, além de resultados estimulando a sustentabilidade com tecnologias apropriadas e o desenvolvimento para Android seguindo caminhos curtos para acessos as telas, além de apresentar o estudo de caso aplicado no desenvolvimento do aplicativo para controle de faltas no processo eleitoral 2012.
Trabalhar com o software Android e a plataforma móvel introduz ao substituir nesse projeto o processo usado nos processos eleitorais pelos candidatos do controle de faltas das equipes, cada qual coordenada por um líder com acesso ao tablet, assim como também a forma de armazenamento dessas informações, otimizando espaço e aplicando segurança num custo/beneficio oferecido pelo armazenamento de dados e a contabilização de presenças de cada servidor, mesmo que haja o deslocamento de um servidor para outra equipe. Utilizando uma linguagem popular e livre como o Java e apoiando a criação de software livres, aproveitando os dados para realizar a contagem de presenças e retirar o gargalo de extensas listas e uso de papel para impressão das mesmas, a otimização de tempo em apenas recolher os tablets para contagem de dias trabalhados e efetuar o cálculo do pagamento se tornaram vitais e propõe mais segurança e novas possibilidades de implementações nas regras de negócio.
A motivação para a realização deste trabalho, usando plataformas móveis com software Android e prover sustentabilidade deu-se através da vivência e observação no segmento político no processo manual e com demasiada presença de erros durante as chamadas, tornando-se impróprio pelas tecnologias disponíveis, assim como projetos lançados para leitura de
artigos do New York Times usando Android, (10, May, 2010, New York Times) e sua app, e como ativista do projeto de lei popular Desmatamento Zero do Greenpeace Brasil e membro colaborador e a aplicabilidade das tecnologias de Java e Android para a contribuição a projetos sustentáveis, participando sempre de congressos como Rio+20 e debates sobre sustentabilidade.
Também frisa-se que Android está em uma das plataformas com maior retorno sobre o investimento. A própria Gartner (2012), afirma que em 2015 poderão ser vendidos 300 milhões de aparelhos tablets.
Almeja-se que este artigo contribua não somente no aprimoramento e resolução do estudo de caso como também sanar eventuais dúvidas no desenvolvimento de tecnologias para Android, como também onde começar o start para o desenvolvimento, algumas teorias, apresentando um caminho sugerido para desenvolvimento a usuários mais leigos por (Frank W. Ableson et al, Android em Ação, 2012) como também seja alicerce para novos projetos e idéias para estreitar e utilizar a tecnologia com a sustentabilidade e novos negócios, gerando novas perspectivas e possibilidades de uso no setor de desenvolvimento, mostrando também as possibilidades de testes funcionais com as telas pela API Robotium.
DEFINIÇÕES, TECNOLOGIAS E AMBIENTE DE DESENVOLVIMENTO Android se define em um “ambiente de software escrito para dispositivos móveis, tendo seu Sistema Operacional baseado em um kernel Linux usando uma máquina virtual otimizada para aplicativos Java.(Chris King et al, Android em Ação, 2012, pág 4,11,12).” A grande chave para essas componentes é deixar que o Android se torne ágil em sua portabilidade usufruindo em uma grande porcentagem de hardwares dos próximos telefones móveis a serem lançados unindo-se ao ambiente Java e seu vasto ambiente de programação.
Uma boa ferramenta para o desenvolvimento de aplicativos para Android é a IDE Eclipse, usando neste trabalho a versão Mobile Juno win 32. Diante da concorrente IDE NetBeans, o Eclipse traz e acomoda muito bem o termo “perspectivas”, sendo a tela associada ao próprio layout com janelas e
ferramentas disponibilizadas. Todas essas perspectivas denominam-se em um termo apropriado chamado “Views”. Frisa-se outras perspectivas como a Java que de fato é onde desenvolve-se o código do aplicativo e a DDMS é uma emulação do dispositivo Android para executar as aplicações onde vemos a máquina virtual sendo executada (Frank W. Ableson et al, Android em Ação, 2012,pág 15 à 66). Também se torna vital o uso do Android Project Wizard para criação rápida e simples de um projeto que é parte do plug-in ADT.como relatado em no espaço virtual do autor Frank W. Ableson et al, (Manning Publications Co. Android - the Big Picture). A ferramenta GUI Layout presente no ADT disponibiliza os elementos da interface do usuário.
Já entendendo o conceito de Android e algumas denominações como as Views, ADT é necessário instalar e configurar corretamente o Android SDK com a IDE Eclipse disponível no site: http://developer.android.com/sdk/index.html. Nota-se que a versão usada equipara-se a um SDK Management. Após a instalação, basta seguir os passos no próprio site web do Android em não descritos neste, visto que o objetivo é esclarecer os caminhos para o desenvolvimento http://developer.android.com/sdk/eclipse-adt e instalar o plug-in Android para a IDE. Em suma, já se tem o ambiente pronto para o desenvolvimento de aplicativos.
Outras quatro teorias fundamentais para o desenvolvimento de aplicativos para Android são:
• ACTIVITIES E VIEWS
Em (Ricardo R. Lecheta, Google Android, 2010), Ricardo Lecheta define as Views como o que os usuários veem e com que eles podem interagir enquanto as Activities trazem as telas do aplicativo e seus subcomponentes são as já citadas Views.
• INTENTS E SERVICES
A maneira mais simples de entender os Intents é analisar que o Sistema Operacional do Android trata todas Intents (Intenções) como tarefas a serem executadas pela aplicação, como abrir um navegador . Dentro das
mensagens passadas também se encontra abertura das actvities usando a passagem de parâmetro.
Já os Services são muito utilizados principalmente para criar serviços e dar continuidade nos mesmo quando o aparelho entra em Stand-by. Como exemplo pode ser a execução de um arquivo de Stream Audio em segundo plano.
• BANCO DE DADOS
De forma nativa o Android já possui o banco de dados relacional SQLite muito satisfatório e indicado para armazenamento local de dados, tendo comodidade para desenvolver e rapidez. Na documentação do SQLite em www.sqlite.org/lang.html pode-se consultar maiores dúvidas de comandos e funções básicas.
• ROBOTIUM
A API Robotium foi utilizada neste trabalho com a finalidade da realização de testes funcionais como forma de testar a qualidade do software. No endereço eletrônico http://code.google.com/p/robotium/ está disponibilizado a API junto a sua documentação.
DESENVOLVIMENTO
A primeira parte desenvolvida do aplicativo GENESIS foi a tela de Login para o usuário.
A regra de negócio faz-se que ao realizar login com sucesso o usuário já obtém a lista integral de chamadas, garantido assim a mobilidade de pessoas de equipe sem alteração de listas. A figura 1 mostra a tela de login:
Para seu desenvolvimento utilizou a primeira activitie do projeto como tela principal usando Button, TextView e EditText para montar o layout, acessando simplesmente a GUI Layout presente na ADT. A identificação dada a cada campo para sua pós utilização e atribuições de ações sempre vem seguida de “@+id/nomeatribuido”.
Com a interface feita inicia-se o processo de codificação já na classe Java gerada junto com a activity.xml. O conhecimento em Java se torna um pré-requisito para o desenvolvimento neste ponto e para a identificação das disposições de pastas e guias dentro da IDE Eclipse.
A figura 2 mostra trecho do código fonte que busca na base da dados já populada a validação dos campos do login.
Figura 1 – Tela Inicial aplicativo
Figura 2 – Trecho código fonte aplicativo GENESIS public void onClick(View v) {
switch (v.getId()) { case R.id.btnLogar:
validarLogin(); break;
}
public Cursor usuariob() {
return mDb.query(TABELA_USUARIO, new String[] { COLUNA_ID_LIDER,
COLUNA_DESCRICAO_LIDER }, null, null, null, null, null);
Feito o login e confirmado a presença do nome e usuário no banco de dados SQLite a tela de chamadas já é exibida como mostrada na figura 3:
No desenvolvimento da interface apresentada na figura 3 ouve a utilização de um ListView buscando os nomes já inseridos no banco de dados. O nome do usuário assim como o dia da chamada é exibido e registrado no banco para consultas dos servidores presentes no dia de trabalho.
No trecho de código da figura 4 podemos ver a criação do TextView que nada mais é do que o carregamento de uma estrutura de dados Array vinda do banco.
List nomes = getNomesBanco();
ArrayAdapter nomes = newArrayAdapter(this,
android.R.layout.simple_list_item_2, android.R.id.text1, l); ListView lv = (ListView) findViewById(R.id.list);
AtivaBox();
lv.setAdapter(ad); }
Figura 3 – DDMS rodando a TextViews
TESTES FUNCIONAIS COM ROBOTIUM
O Robotium deve ser descarregado o jar e adicionar o mesmo no projeto de teste criado. No Eclipse Juno Mobile não há uma opção de já criar o projeto de teste ao executar o wizard para criação do projeto. Então é necessário criar o projeto à parte de testes e depois importar o Robotium para o projeto para se ter acesso a sua API de testes.
Criando uma nova classe no projeto de teste é possível realizar todos os testes de telas e botões do aplicativo testando as condições impostas durante os testes, resultando em true e false as respostas após as varreduras nas telas na procura dos parâmetros. O Robotium vem para ajudar na qualidade de software, visto que quanto mais funcional o software, menos riscos de bugs ele estará sujeito.
Pode-se testar inúmeras formas os aplicativos com o Robotim. O intuito é apresentar mais uma API para esse tipo de teste e o caminho para começar sua utilização.
RESULTADOS
O objetivo do trabalho que é a criação do aplicativo do caso de uso para controle de presença em um diário de chamadas intitulado de Genesis foi alcançado com margem satisfatória. O aplicativo, que ainda está em fase de adaptação, já está sendo usado no processo eleitoral 2012 até o dia 07 de outubro de 2012 a caráter de teste apresenta funcionalidade pelos coordenadores de equipe totalizando 20 tablets rodando o aplicativo Genesis, todos pertinentes a empresa Alves&Prieto Advocacia e Consultoria parceira desde projeto no município de Uberlândia.
Para trabalhos futuros pode-se aprimorar o aplicativo passando ele para um diário de chamadas de universidades e escolas.
Também no campo da sustentabilidade pode-se cortar o uso de impressão e demasiados gastos com Tonners de impressão, o que reduziu ainda não estimado os gastos nas prestações de contas dos candidatos. Os tablets também não foram cobrados dos candidatos, servindo apenas como teste experimental.
Segundo o Greenpeace qualquer economia é valida para fortalecer o movimento contra o desmatamento. Mesmo em áreas de replantio e árvores certificadas provindas dessas áreas, existe um gasto que deve ser poupado com a derrubada e criação dessas árvores como energia e água utilizada para o reflorestamento.
Também alcançou-se com o aplicativo uma maior segurança na falsificação de assinaturas, deixando apenas o responsável da equipe com o poder da chamada, explanando de forma simples o uso das tecnologias citadas.
DISCUSSÃO E CONCLUSÃO
A plataforma Android, sem dúvidas, encontra-se em grande ascensão, sendo que a própria literatura vem sendo constantemente renovada, junto com as API’S e Plug-ins.
A forma rápida e simples de desenvolvimento de aplicativos para Android garantem a agilidade nos projetos gerando novas formas de negócios como aluguel de tablets para períodos eleitorais, eventos e a customização de aplicativos como também a reutilização de código gerando também novos cargos empregatícios nos mais vastos ambientes de trabalho e tipos de negócios.
A sustentabilidade também se tornou uma aliada com os dispositivos móveis sendo pautas de discussões em vários congressos como Rio +20 e em congressos do Greenpeace.
Dessa forma pode-se aplicar tecnologia para garantir a sustentabilidade, inovar os vários segmentos de negócios e ao mesmo tempo gerar novas oportunidades, inserindo pessoas cada vez mais no mundo tecnológico, mostrando também um caminho curto e simples para o desenvolvimento com a plataforma de aplicativos android e seus testes funcionais com a API Robotium que podem ser exploradas de forma mais profunda pelos desenvolvedores.
BIBLIOGRAFIA
CONFIGURANDO ROBOTIUM - Disponivel em:
http://code.google.com/p/robotium/ (Acesso: 08/10/2012)
CONSUMO DE TABLETS NO MUNDO - Disponivel em: <www.gartner.com> (Acesso: 08/10/2012)
FRANK ABLESON, ROBI SEN AND CHRIS KING - MANNING PUBLICATIONS CO. ANDROID - THE BIG PICTURE – Disponivel em: <http://freech.manning-sandbox.com/cemail?uid=22d615b4-3e85-4b40-96fd-1ac24570d336> (Acesso: 08/10/2012)
INSTRUÇÕES PARA BANCO DE DADOS SQLITE – Disponivel em: www.sqlite.org/lang.html (Acesso: 08/10/2012)
NEW YORK TIMES USANDO ANDROID Disponivel em: < http://androinica.com/2010/05/new-york-times-android-app-now-available/ > (10, May, 2010, New York Times) (Acesso: 08/10/2012)
OPEN HANDSET ALLIANCE - Disponivel em:
http://www.openhandsetalliance.com/android_overview.html (Acesso: 08/10/2012)
RICARDO R. LECHETA, Google Android - Aprenda criar aplicações para dispositivos móveis com o Android SDK, NOVATEC,2010.
RICARDO R. LECHETA, Google Android para Tablets, 2º edição, NOVATEC, 2012.
RIO +20 E DADOS GREEANPEACE - Disponivel em:
SDK ANDROID - Disponivel em: http://developer.android.com/sdk/index.html (Acesso: 08/10/2012)
W. FRANK ABLESON, ROBI SEN, CHRIS KING, C. ENRIQUE ORTIZ – Android em Ação, 3º edição, Campus, 2012.
ZIGURD MEDNIEKS, LAIRD DORNIN, G.BLAKE MEIKE, MASURNI NAKAMURA – Programando o Android, NOVATEC, 2012.