GERAÇÃO DE INTERFACES ANDROID A PARTIR DO DELPHI



Documentos relacionados
Desenvolvimento de um aplicativo básico usando o Google Android

Introdução ao Android

Computação II Orientação a Objetos

Dispositivos móveis e o mercado Android Open Handset Alliance Informações sobre Android Arquitetura

Mobile Command. Diego Armando Gusava. Orientador: Mauro Marcelo Mattos

A plataforma Android: Uma Introdução

Introdução ao Android. Programação Orientada a Objetos Prof. Rone Ilídio - UFSJ

Ferramenta para conversão de interfaces gráficas desenvolvidas em Delphi para a biblioteca GTK+ Acadêmico: Josimar Zimermann

Curso: Especializado Desenvolvimento de Aplicações para Android

CURSOS ANDROID. Prof: Igor Portela

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

AULA 2. Minicurso PET-EE UFRN

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

OBJETIVO Criação e execução de um projeto Android dentro da IDE IntelliJ.

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

Desenvolvimento de Aplicações. Android. Rick Rogers, John Lombardo, Zigurd Mednieks e Blake Meike. Novatec

SISTEMA PARA AUTOMATIZAR O MONITORAMENTO DE ROTEADORES DE UM PROVEDOR DE ACESSO

FRWTC-400 DESENVOLVIMENTO MÓVEL PARA ANDROID MÓDULO 1

Android Básico Hello World!

#Criando Aplicações Web com o Delphi unigui

Minicurso - Android Fábio Silva / João Paulo Ribeiro

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

O que é o Android? O que é o Android

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

Desenvolvimento para Android Prá9ca 2. Prof. Markus Endler

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

EA998/MC933 Guido Araujo e Sandro Rigo

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Manual de instalação e configuração da Ferramenta Android SDK

Programação para Android

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Interfaces Gráficas parte 3

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO BACHARELADO

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Programação para Android

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

Projeto Pedagógico do Curso. de Formação Inicial e Continuada (FIC) em. Curso básico em programação de aplicativos para. Android

INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Engenharia de Requisitos Estudo de Caso

Sistemas Embarcados Android

SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Desenvolvimento Web TCC Turma A-1

Desenvolvimento de Aplicativos com ASR para Android

Introdução à Plataforma Eclipse. Leandro Daflon

Sistemas Embarcados Android

Visão geral Estrutura do sistema Ferramentas de desenvolvimento Uma aplicação. Android. Universidade Federal de Santa Catarina. 17 de dezembro de 2008

Descrição geral do Android

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

Programação de Computadores II TCC Turma A-1

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Capítulo 2 Introdução à ferramenta Flash

ANDROID APPLICATION PROJECT

Escrito por Neri Neitzke Qua, 12 de Outubro de :40 - Última atualização Seg, 26 de Março de :50

Lógica de Programação

Introdução a Informática. Prof.: Roberto Franciscatto

Desenvolvimento de Aplicativos com ASR para Android

Gerador de aplicativos Oracle PL/SQL WEB baseado na estrutura das tabelas do. Wagner da Silva Orientando Prof. Alexander Roberto Valdameri Orientador

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Desenvolvimento para Android Prá9ca 1. Prof. Markus Endler

Desenvolvimento de Sites. Subtítulo

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Um Driver NDIS Para Interceptação de Datagramas IP

Android. Marcelo

Ler e interpretar simbologias elétricas. Elaborar diagramas elétricos em planta baixa. Ler e interpretar Planta Baixa.

API's e Aplicações para Android

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

Uso do Action₀NET com o PI System da OsiSoft

SISTEMA PARA AUXILIXAR NO GERENCIAMENTO DA ONG SOCIEDADE CASA DA ESPERANÇA

Programação para Dispositivos Móveis

PROTÓTIPO DE APLICAÇÃO PARA O PROBLEMA DE ROTEAMENTO DE VEÍCULOS EM DISPOSITIVOS MÓVEIS NA PLATAFORMA ANDROID

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

MANUAL DE INSTALAÇÃO CONFIGURAÇÃO IDE ECLIPSE

Universidade da Beira Interior

VISEDU-CG 3.0: Aplicação didática para visualizar material educacional Módulo de Computação Gráfica

Modelagemde Software Orientadaa Objetos com UML

Java Básico. Aula 1 por Thalles Cezar

GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG

EMISSÃO DE CERTIFICADOS ELETRÔNICOS NOS EVENTOS DO INSTITUTO FEDERAL CATARINENSE CÂMPUS VIDEIRA

Programação de Computadores - I. Profª Beatriz Profº Israel

Produtos da Fábrica de Software

LINGUAGEM DE BANCO DE DADOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

Frameworks para criação de Web Apps para o Ensino Mobile

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

IV SEMANA DE INFORMÁTICA. Prof. Rafael Hens Ribas

Transcrição:

UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIA DA COMPUTAÇÃO GERAÇÃO DE INTERFACES ANDROID A PARTIR DO DELPHI DOUGLAS JÚLIO REZINI PROF. MARCEL HUGO, MESTRE

Roteiro: Introdução e Objetivos Fundamentação teórica Desenvolvimento e Especificações da ferramenta Operacionalidade da ferramenta Resultados e Discussões Conclusão Extensões

Introdução: Mercado de dispositivos móveis em evidência. 153 milhões de smartphones vendidos no segundo trimestre de 2012. (PETTEY, GOASDUFF, 2012). Avanço na tecnologia de hardware: Desenvolvimento de aplicativos robustos. S.O. Android. Android ocupa o posto de líder com 64,1% do mercado no segundo semestre de 2012 (PETTEY, GOASDUFF, 2012).

Introdução: Crescimento da plataforma gera uma demanda de aplicativos e atrai novos desenvolvedores. Abertura para a criação de ferramentas. Delphi um ambiente Rapid Application Development (RAD): Construção de aplicações rápidas e seguras. Ferramentas e recursos que facilitam o desenvolvimento. Componentes prontos. drag-and-drop.

Objetivos: Desenvolver uma ferramenta que permita a utilização do ambiente de desenvolvimento do Delphi para criação de interfaces para aplicações Android. Identificar os componentes de interface do Delphi que possuam comportamento equivalente em interfaces Android; Disponibilizar uma aplicação que viabilize a conversão de componentes de interface de um formulário Delphi, gerando uma interface Android equivalente; Avaliar o grau de compatibilidade entre o comportamento da interface Delphi e da interface Android gerada.

Arquitetura Android: Applications Aplicações básicas fornecidas pelo Android. Application frameworks Camada que fornece acesso a mesma API utilizada pelas aplicações essenciais da plataforma Android. Libraries Bibliotecas utilizadas por componentes do sistema. Android runtime Máquina virtual Java Google (Dalvik) Linux Kernel Camada de abstração entre o hardware e o restante dos softwares.

Desenvolvimento Android: Linguagem de programação Java. Android Software Development Kit (SDK). Arquivos com extensão.apk. Componentes de aplicação (Pontos de entrada): Atividades (activities). Serviços (services). Provedores de conteúdo (content providers). Receptores de transmissão (broadcoast receivers). Rodam em processos distintos.

Atividade (activity): Principal componente de aplicação. Interface de usuário. Pilha de atividades (back stack).

Atividade (activity): Ciclo de vida

Interface de usuário no Android: Construída através de objetos derivados da classe View e ViewGroup. Um objeto da classe View controla um determinado espaço retangular dentro da janela da atividade. A combinação dessas duas classes bases define a hierarquia de uma interface Android: ViewGroup: Classe base para os layouts. View: Classe base para os Widgets.

Interface de usuário no Android:

Interface de usuário no Android: Podendo ser declarado de duas formas: Arquivo XML, utilizando o vocabulário fornecido pelo Android para declarar dos componentes. Em tempo de execução, instanciando os objetos no código fonte da aplicação. As subclasses mais comuns utilizadas na criação de layouts são: Linear Layout. Relative Layout.

Estrutura de um projeto Android: Um projeto pode ser criado principalmente: Através do ambiente eclipse configurado com o plug-in ADT. A partir da execução de linhas de comando utilizando as ferramentas do SDK Android. É composto principalmente de arquivos XML.

Estrutura de um projeto Android: Android Manifest Arquivo obrigatório para qualquer aplicação Android. Nele estão presentes informações essenciais sobre a aplicação e necessárias para o Sistema Android. Entre as principais declarações do arquivo manifest, podem ser destacados: Permissões de usuário. Nível mínimo de API necessário para a aplicação. Dispositivos de hardware utilizados pela aplicação. Bibliotecas. Declaração de componentes de aplicação.

Estrutura de um projeto Android: Resources São arquivos adicionais com conteúdo estático utilizado pelo aplicativo e que ficam separados do código fonte. Todos os recursos utilizados na aplicação são organizados a partir da pasta res, sendo as principais: res.drawable. res.layout. res.values.

Estrutura de um projeto Android: Classe R O acesso aos recursos do projeto pelas classes Java é feito por meio da classe R. Gerada no momento da compilação do projeto pela ferramenta Android Asset Packaging Tool (AAPT). Para cada tipo de recurso, presente no diretório res, há uma subclasse de R.

Trabalhos correlatos: Fonseca (2005) desenvolveu uma ferramenta que permite a conversão de formulários Delphi em aplicações Java. Souza (2005) desenvolveu uma ferramenta para conversão de formulários Delphi em páginas HyperText Markup Language (HTML). Zimmermann (2011) desenvolveu uma ferramenta para conversão de interfaces gráficas desenvolvidas em Delphi para a biblioteca Gimp Tool Kit (GTK+).

Desenvolvimento: Ambiente Delphi 7. SDK Android. AVD Android. Eclipse. ADT Plugin. Java.

Requisitos: REQUISITOS FUNCIONAIS RF01: Permitir o mapeamento de componentes de interface do Delphi para Android. RF02: Permitir a criação de um projeto Android a partir da interface gerada. RF03: Permitir a compilação do projeto Android e geração do arquivo.apk. RF04: Permitir a instalação do arquivo compilado em um dispositivo ou máquina virtual Android. CASO DE USO UC01 UC02 UC03 UC04 REQUISITOS NÃO FUNCIONAIS RNF01: Ser implementado utilizando a linguagem de programação Delphi. RNF02: Ser desenvolvido para executar a partir do ambiente de desenvolvimento Delphi.

Lista de componentes convertidos: DELPHI ANDROID TForm RelativeLayout Tpanel RelativeLayout, EditText TBitBtn Button Tbutton Button TSpeedButton ImageButton TRadioButton RadioButton TRadioGroup RadioGroup, RadioButton, EditText TCheckBox TComboBox TGroupBox TListBox Tlabel TStaticText Tedit Tmemo TRichEdit TDateTimePicker TStringGrid TProgressBar TToolBar TToolButton TScrollBox Timage CheckBox Spinner RelativeLayout, EditText ListView EditText EditText EditText EditText EditText EditText GridView ProgressBar RelativeLayout Button ScrollView, RelativeLayout ImageView

Especificação: Enterprise Architect. Diagramas UML: Caso de uso. Classe. Sequência.

Diagrama de caso de uso:

Diagrama de classes:

Diagrama de classes:

Diagrama de classes:

Diagrama de classes:

Diagrama de classes:

Diagrama de sequência:

Implementação: Programação Orientada a Objetos. Herança. Padrões de projeto: Singleton. Facade.

Operacionalidade: A ferramenta trabalha em conjunto com o formulário na forma de componente. É disponibilizado um Template com a dimensão padrão de uma aplicação Android. No método de criação do formulário deve ser invocado o método Convert(Self) do componente. Ao executar o projeto Delphi a conversão é executada de acordo com a configuração das propriedades do componente.

Operacionalidade: Template Propriedades do componente

Operacionalidade:

Resultados e discussão: Conversão da interface. Criação e Compilação do projeto. Instalação do aplicativo em máquina virtual ou dispositivo conectado. Compatibilidade.

Resultados e discussão: Característica linguagem de programação conversão de componentes de visualização uso de analisadores (léxico, sintático e semântico) Delphi2Java-II (SILVEIRA, 2006) Java DelphiToGTK+ DelphiToWeb Pascal/Object Pascal Java DelphiToAndroid Delphi/Object Pascal 22 25 22 23 Sim Sim Sim Não conversão de componentes em tempo de execução a partir da IDE cria, compila e instala um projeto produto da interface convertida Não Não Não Sim Não Não Não Sim

Resultados e discussão: Limitações Somente um formulário por vez; Tamanho e posicionamento dos componentes difere dos componentes Delphi; Diversidade de tamanho de interface para dispositivos Android. Padrão WVGA (480x800); Cores limitadas as constantes padrões do Delphi. RGB para RGBA; Definição de fontes de texto não são traduzidas.

Conclusão: Reaproveitamento de conhecimento e agilidade no desenvolvimento. Necessidade de migração de aplicações desktop para mobile. Forma de implementação da ferramenta. Abordagem diferenciada na forma de leitura e conversão da interface. Todos os objetivos foram alcançados. Objetivos ampliados para além da conversão, efetuar também a geração, compilação e instalação do projeto Android.

Extensões: Implementar a conversão de mais componentes de interface, como TPageControl e TTabSheet. Efetuar a conversão de mais de um formulário por vez para um mesmo projeto Android. Gerar projetos com tamanhos de interface diferenciados, além do padrão WVGA (480x800). Permitir outras configurações de geração do projeto, além das definidas nesse trabalho.

Referências: ABLESON, Frank. Introdução ao desenvolvimento do android. [S.1.], 2009. Disponível em: <http://www.ibm.com/developerworks/br/library/os-android-devel/>. Acesso em: 05 nov. 2012. ANATEL. Relatório 2011. [S.1.], 2012. Disponível em: <http://www.anatel.gov.br/portal/verificadocumentos/documento.asp?numeropublicacao=278637&pub=original&filtro=1&docum entopath=278637.pdf>. Acesso em: 23 ago. 2012. ANDROID DEVELOPERS. The developer s guide, [S.l.], 2013. Disponível em: <http://developer.android.com/guide/ >. Acesso em: 30 mar. 2013. AQUINO, Juliana F. S. Plataforma de desenvolvimento para dispositivos móveis. 2007. 14 f. Monografia (Pós-Graduação em Informática) Departamento de Informática, Pontífica Universidade Católica do Rio de Janeiro, Rio de Janeiro. CANTU, Marco. Dominando o Delphi 7: a bíblia. Tradução Kátia Aparecida Roque. São Paulo: Pearson Education do Brasil, 2003. DALGARNO, M. Frequently asked questions about code generations. [S.l.], 2006. Disponível em: <http://www.codegeneration.net>. Acesso em: 29 abr. 2006. FONSECA, Fabricio. Ferramenta conversora de interfaces gráficas: Delphi2Java-II. 2005. 59 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. FREITAS, Ivonei; SCHEMBERGER, Elder E.; VANI, Ramiro. Plataforma android. Paraná, 2009. HERRINGTON, Jack. Code generation in action. California: Manning, 2003. MEDNIEKS, Z. et al. Programming Android: Second Edition. Sebastopol: O Reilly Media, 2012. Disponível em: <http://oreilly.com/catalog/errata.csp?isbn=9781449316648>. Acesso em: 27 abr. 2013.

Referências: MORETTI, João. Empresas devem investir em mobilidade? [S.l.], ago 2011. Disponível em: <http://www.ecommercebrasil.com.br/artigos/empresas-devem-investir-em-mobilidade/>. Acesso em: 02 set. 2012. PETTEY, Christy; GOASDUFF, Laurence. Gartner says worldwide sales of mobile phones declined 2.3 percent in second quarter of 2012. Egham, 2012. Disponível em: <http://www.gartner.com/it/page.jsp?id=2120015>. Acesso em: 02 set. 2012. SILVEIRA, Janira. Extensão da ferramenta Delphi2Java-II para suportar componentes de banco de dados. 2006. 81 f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. SOMMERVILLE, Ian. Engenharia de software. 6. ed. Tradução André Maurício de Andrade Ribeiro. São Paulo: Addison Wesley, 2003. SOUZA, Ariana. Ferramenta para conversão de formulário Delphi em páginas HTML. 2005. 69 f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. WILLS, Michelle. Rapid Application development on Delphi. [S.1], 2010. Disponível em: <http://www.gather.com/viewarticle.action?articleid=281474978541661>. Acesso em: 02 maio. 2013. ZIMMERMANN, Josimar. Ferramenta para conversão de interfaces gráficas desenvolvidas em Delphi para a biblioteca GTK+. 2011. 90 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

DEMONSTRAÇÃO DA FERRAMENTA