workshop de desenvolvimento android
TRANSCRIPT
Workshop de Desenvolvimento Android
Autores: Gabriel Moro e Gean TrindadeOrientador: Prof. Jean Cheiran
Cronograma
I. Introdução a linguagem de Programação JavaII. Abordagem geral sobre Programação Orientada a
ObjetosIII. Introdução ao Sistema AndroidIV. Modelagem e Projeto de Software apoiado pelos
modelos da UMLV. Instalação do ambiente para desenvolvimento
VI. Prática de exercícios básicos no ambiente de desenvolvimento
I. Introdução a linguagem de Programação Java
➔ Breve HistóricoA linguagem de programação Java foi
desenvolvida pela Sun Microsystems na década de 90, afim de resolver algumas problemáticas encontradas nas linguagens de programação da época, como: ponteiros, gerenciamento de memória, organização de código, escassez de bibliotecas, problemas de manutenção de código, reescrita de alguns módulos do sistema de acordo com o sistema operacional e a necessidade de recompilação de código de acordo com a arquitetura utilizada [1].
I. Introdução a linguagem de Programação Java
➔ Características da Linguagem JavaI. Orientação a Objetos;
II. Gestão de Memória Automatizada (Garbaje Collector);
III. Multiplataforma;IV. Utilizada para o desenvolvimento de aplicativos
web, desktop e móveis;V. Vasta quantidade de bibliotecas disponíveis.
I. Introdução a linguagem de Programação Java
➔ Tipos de VariáveisTipo Tamanho (bit) Wrapper
char 16 Character
byte 8 Byte
short 16 Short
int 32 Integer
long 64 Long
float 32 Float
double 64 Double
boolean 1 Boolean
I. Introdução a linguagem de Programação Java
➔ Ambiente de ExecuçãoJava Runtime Environment (JRE) é utilizado
para a execução de aplicativos Java. Contém a máquina virtual e algumas bibliotecas.
Java Development Kit (JDK) é utilizado por nós desenvolvedores, através desse pacote é possível compilar os códigos escritos na linguagem Java.
Você pode efetuar o download de ambas ferramentas pelo site http://www.oracle.com/technetwork/java.
II. Abordagem geral sobre Programação Orientada a Objetos
Através da orientação a objetos é possível abstrair características do mundo real e mapeá-las como objetos no mundo computacional. Esses objetos possuem estados e comportamentos, podendo se relacionar com outros objetos.
II. Abordagem geral sobre Programação Orientada a Objetos
➔ Principais TópicosI. Classes: Estrutura genérica que “identifica” um objeto,
é um escopo para a construção de objetos;II. Objetos: Instância da classe, indivíduo criado a partir
da classe, herdando sua essência;A. Estado: O estado de um objeto são seus
atributos;B. Comportamento: O comportamento de um objeto
são seus métodos.
II. Abordagem geral sobre Programação Orientada a Objetos
● Exemplo de código Orientado a Objetos em Java:
II. Abordagem geral sobre Programação Orientada a Objetos
● Exemplo de código Orientado a Objetos em Java:
II. Abordagem geral sobre Programação Orientada a Objetos
➔ Principais TópicosIII. Relacionamentos: Capacidade que um objeto possui
para utilizar serviços de outros objetos.1. Herança: Relação pela qual um objeto herda de
outro objeto (pai) seu estado e comportamento;2. Associação: Relação utilizada para descrever a
troca de serviços e recursos entre objetos;a) Agregação: Quando um objeto agrega outros objetos em seu
estado;
b) Composição: Quando um objeto é composto por outros objetos, não podendo existir sem eles.
II. Abordagem geral sobre Programação Orientada a Objetos
➔ Principais Tópicos3. Dependência: Quando um objeto “x” realiza tal ação
e a mesma utiliza recursos do objeto “y”. Nisso, o objeto “x” não os descreve em seu estado, pois, apenas uma de suas ações utilizada dado recurso.
II. Abordagem geral sobre Programação Orientada a Objetos
➔ Mais alguns conceitos IV. Sobrecarga: Quando um objeto possui mais de um
método com o mesmo nome, mas diferentes assinaturas;
V. Sobrescrita: Quando um objeto especializado reimplementa o método herdado de acordo com as suas necessidades.
III. Introdução ao Sistema Android
➔ Breve HistóricoO sistema Android foi desenvolvido
primeiramente pela empresa Android Inc. (atualmente comprada pela Google) no ano de 2005 e lançado em 2007 [3].
A inovação Android é apoiada por um grupo denomidado Open Handset Alliance (OHA) que é composto pelos principais fabricantes de dispositivos móveis, operadoras de telefonia, desenvolvedores de componentes de hardware, software, entre outros [3].
III. Introdução ao Sistema Android
Diferentemente de um sistema operacional desktop, o Android é um conjunto de camadas desenvolvido sobre kernel linux e utilizado principalmente em dispositivos móveis [3].
III. Introdução ao Sistema Android
➔ ArquiteturaA arquitetura do sistema operacional Android é divida em camadas, onde cada parte é responsável por gerenciar os seus respectivos processos. (Lecheta, 2009).
III. Introdução ao Sistema Android
➔ Arquitetura● Camada de Aplicações: Onde se encontram todos os aplicativos
executados sobre o Sistema Operacional (ex: SMS, Agenda…).
● Camada de Bibliotecas: Onde se encontram as bibliotecas utilizadas pelo sistema (ex: bibliotecas gráficas 2D/3D, aceleradores de hardware…).
● Camada de Runtime: Onde é instanciada a máquina virtual Dalvik que é criada para cada aplicação que o Android executada.
● Camada do Kernel: Onde se localiza o núcleo do Sistema Operacional. É nessa camada que acontece o gerenciamento de processos, memória, threads entre outras gerencias.
III. Introdução ao Sistema Android
➔ Elementos de aplicação importantes do Android:
● Activities
● Services
● Content Providers
III. Introdução ao Sistema Android
➔ ActivitiesÉ uma classe que gerencia a interface com o usuário, e todo o aplicativo começa com uma Activity. Apesar da classe tratar da interface (View), ela realiza um papel de controladora ao mesmo tempo, então podemos dizer que baseando-se na arquitetura MVC, as Activities são View e Controller ao mesmo tempo.
III. Introdução ao Sistema Android
➔ Ciclo de vida das Activities:
Figura: Demonstração do ciclo de vida das Activities[3].
III. Introdução ao Sistema Android
➔ ServicesDiferente das Activities, o usuário não vê e nem interage diretamente. São serviços/processos/tarefas que rodam em background.
III. Introdução ao Sistema Android
➔ Content ProvidersPermite o compartilhamento de dados entre aplicativos. Permite acessar os dados de um aplicativo externo (Agenda de contatos, mensagens…).
III. Introdução ao Sistema Android
➔ AndroidManifest.xmlÉ o principal arquivo de configuração da aplicação Android. Nele estão descritos os elementos da aplicação como as Activities, Intents, e a classe principal que será executada.
IV. Modelagem e Projeto de Software apoiado pelos modelos da UML
➔ Unified Modeling Language (UML)Linguagem de modelagem que auxilia na criação de artefatos de software através de modelos disponibilizados.
IV. Modelagem e Projeto de Software apoiado pelos modelos da UML
➔ Unified Modeling Language (UML)Linguagem de modelagem que auxilia na criação de artefatos de software através de modelos disponibilizados.
Entre eles estão:● Diagrama de Casos de Uso● Diagrama de Classe● Diagrama de Atividades● Diagrama de Sequência
IV. Modelagem e Projeto de Software apoiado pelos modelos da UML
➔ Unified Modeling Language (UML)Linguagem de modelagem que auxilia na criação de artefatos de software através de modelos disponibilizados.
Entre eles estão:● Diagrama de Casos de Uso● Diagrama de Classe● Diagrama de Atividades● Diagrama de Sequência
V. Instalação do ambiente para desenvolvimento
Site para download: http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/installing/studio.html
Cronograma
I. Exercícios PráticosConclusão dos temas abordados no WorkshopReferências Indicadas e Utilizadas
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;➔ Desenvolva um programa java, implementando o
projeto construído, você pode utilizar interface console;
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;➔ Desenvolva um programa java, implementando o
projeto construído, você pode utilizar interface console;
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;➔ Desenvolva um programa java, implementando o
projeto construído, você pode utilizar interface console;➔ Modifique a interface console por uma interface
android;
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;➔ Desenvolva um programa java, implementando o
projeto construído, você pode utilizar interface console;➔ Modifique a interface console por uma interface
android;
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;➔ Desenvolva um programa java, implementando o
projeto construído, você pode utilizar interface console;➔ Modifique a interface console por uma interface
android;➔ Aplique a arquitetura MVC.
VI. Prática de exercícios básicos no ambiente de desenvolvimento
1- Vamos desenvolver um aplicativo calculadora, para isso vamos seguir os seguintes passos:➔ Crie um diagrama de classes, para representar uma
solução de calculadora;➔ Desenvolva um programa java, implementando o
projeto construído, você pode utilizar interface console;➔ Modifique a interface console por uma interface
android;➔ Aplique a arquitetura MVC.
VI. Prática de exercícios básicos no ambiente de desenvolvimento
Aplicação disponível no repositório BitBucket:
https://[email protected]/tido4410/calculadoraandroid_sacta2014_un
ipampa.git
Conclusão dos temas abordados no Workshop
● Opiniões sobre o que foi abordado
● Interesse no desenvolvimento voltado para dispositivos móveis
● Trabalhos futuros
Referências Indicadas e Utilizadas
[1] Apostila Java e Orientação a Objetos - Caelum. Disponível em: http://www.caelum.com.br/apostila-java-orientacao-objetos/. Acessado: 11, jun.
[2] Curso de Programação Online. Disponível em: http://www.xti.com.br. Acesso: 11, jun.
[3] Imagem demonstrativa da plataforma Java. Disponível em: http://slideplayer.com.br/slide/40168/. Acesso: 11, jun.
[4] Introduções necessárias para o desenvolvimento android. Disponível em: http://bolivaramancio.com.br/introducoes-necessarias-basica-plataforma-android-2/. Acesso: 11, jun.
[5] LECHETA, Ricardo. Google Android, 2009.
[6] Android. Disponível em: http://pt.slideshare.net/AnaDoloresLimaDias/android-9149956. Acesso: 11, jun.