Criando um Joguinho 2D. Prof. Fellipe Aleixo

Tamanho: px
Começar a partir da página:

Download "Criando um Joguinho 2D. Prof. Fellipe Aleixo"

Transcrição

1 Criando um Joguinho 2D Prof. Fellipe Aleixo

2 Conteúdo Desenvolvimento de um jogo 2D para Android Componentes de Interface e Classes SurfaceView, SurfaceHolder Canvas, Paint GestureDetector Thread

3 SurfaceView, SurfaceHolder SurfaceView (android.view.surfaceview) Descendente de android.view.view Provê uma superfície de desenho dedicada dentro da view Permite a renderização utilizando uma thread secundária O método getholder retorna o objeto que acessa a superfície SurfaceHolder (android.view.surfaceholder) Interface que permite acessar e controlar as alterações na superfície de desenho O método lockcanvas retorna o objeto Canvas para desenho na superfície e unlockcanvasandpostfinaliza a edição

4 SurfaceHolder.Callback, Canvas SurfaceHolder.Callback (android.view.surfaceholder.callback) Interface que recebe as alterações na superfície de desenho Responsável pelo controle da thread secundária de desenho, iniciando e parando a thread Canvas (android.graphics.canvas) Classe que possui os métodos draw para desenho drawrect Desenha um retângulo drawcircle Desenha um círculo drawline Desenha uma linha drawtext Desenha um texto

5 Paint, Thread, GestureDetector Paint (android.graphics.paint) Classe que armazena estilos e cores utilizados pelos métodos de desenho Thread (java.lang.thread) Controla uma unidade concorrente de execução. Start inicia a execução da Thread e Join para a execução GestureDetector (android.view.gesturedetector) Detecta gestos e eventos de movimento (MotionEvent) do usuário

6 Jogo Objetivo Destruir o alvo (oito partes) com o máximo de três bolas Elementos do jogo Tempo do jogo - 1 Número de bolas restantes - 2 Número de alvos destruídos - 3 Topo do tela - 4 Alvo - 5 Bola - 6 Barra de rebate

7 Classes MainActivity Estende Activity Responsável pela instanciação da View (JoguinhoView) Captura os eventos de movimento (MotionEvent) utilizando o GestureDetector JoguinhoView Estende SurfaceView e implementa SurfaceHolder.Callback Mantém os objetos Paint para desenhar os elementos do jogo Mantém o objeto JoghuinhoThread para controlar a thread de execução do jogo Mantém o objeto Joguinho com a lógica do jogo

8 Classes JoguinhoThread Controla o laço de execução do jogo Recupera o objeto de desenho (Canvas) Atualiza a posição dos elementos do jogo (Joguinho) Desenha os elementos no Canvas (JoguinhoView) Joguinho Implementa a lógica do jogo Dimensiona os elementos de acordo com o tamanho da tela Controla o estado do jogo, número de bolas, alvos atingidos, tempo de jogo, etc. Calcula as posições dos elementos, controla a visibilidade dos alvos, velocidade da bola, verifica as colisões, etc.

9 MainActivity public class MainActivity extends Activity Atributos private JoguinhoView view; private GestureDetector gd; Método oncreate Instancia a view e associa à atividade view = new JoguinhoView(this); setcontentview(view); Instancia o gesture detector gd = new GestureDetector(this, gdlistener);

10 MainActivity Métodos onpause Para o jogo, pausando a thread view.pararjogo(); ontouchevent Recupera o evento gerado na view int acao = event.getaction(); Verifica o tipo do evento if (acao == MotionEvent.ACTION_MOVE) view.moverbarra(event); Dispara o evento no gesture detector return gd.ontouchevent(event);

11 MainActivity GestureDetector Objeto Listener de detenção de gestos Captura o evento de duplo clique utilizado para lançar a bola SimpleOnGestureListener gdlistener = new SimpleOnGestureListener() public boolean ondoubletap(motionevent event) { view.lancarbola(event); return true; } };

12 JoguinhoView Classe JoguinhoView public class JoguinhoView extends SurfaceView implements SurfaceHolder.Callback { private Activity activity; private AlertDialog.Builder builder; private SurfaceHolder holder; private Joguinho j; private JoguinhoThread jt; private Paint alvop, barrap, bolap, fundop, textop, topop; private int telax; private int telay;...

13 JoguinhoView Construtor Construtor Recupera o objeto SurfaceHolder holder = this.getholder(); Coloca a própria view como Callback das alterações na superfície de desenho holder.addcallback(this); Inicia o objeto que controla a lógica do jogo j = new Joguinho(); Inicia os objetos de desenho alvop = new Paint();...

14 JoguinhoView Dimensionamento onsizechanged É chamado após o construtor da view Recupera as dimensões da tela telax = w; telay = h; Dimensiona os elementos do jogo j.dimensionarelementos(telax, telay); Configura os objetos de desenho alvop.setstrokewidth(j.alvoaltura); Chama o método novojogo novojogo();

15 JoguinhoView Controle do Jogo novojogo Controla o início e reinício do jogo Repassa o início do jogo para a classe Joguinho j.novojogo(); fimjogo Chama o método de parar o jogo pararjogo(); Mostra a mensagem de fim de jogo, perguntando se deseja jogar novamente pararjogo Pausa a thread de execução do jogo if (jt!= null) jt.setrunning(false);

16 JoguinhoView Métodos de Desenho desenharelementos Desenha os elementos do jogo no Canvas recebido como parâmetro Utiliza os métodos de desenho draw e os objetos Paint moverbarra Repassa o MotionEventpara a classe que controla o jogo if (!j.fimjogo) j.moverbarra(event); lancarbola Repassa o MotionEventpara a classe que controla o jogo if (!j.fimjogo) j.lancarbola(event);

17 JoguinhoView Callback surfacecreated Instancia a thread e coloca em execução jt = new JoguinhoThread(holder, j, this); jt.setrunning(true); jt.start(); surfacedestroyed Para a thread jt.setrunning(false); jt.join();

18 JoguinhoThread public class JoguinhoThread extends Thread Principais Atributos private SurfaceHolder holder; private Joguinho j; private JoguinhoView v; private boolean loop; Método setrunning (boolean aloop) Seta a variável de controle do loop de execução loop = aloop;

19 JoguinhoThread Loop de Execução Método run Loop de execução do jogo Calcula o tempo de execução entre as chamadas, desenha as novas posições no Canvas long t1 = System.currentTimeMillis(); while(loop) { canvas = holder.lockcanvas(); long t2 = System.currentTimeMillis(); long dt = t2 - t1; j.atualizarposicoes(dt); v.desenharelementos(canvas); t1 = t2; } holder.unlockcanvasandpost(canvas);

20 Joguinho Lógica do Jogo A classe Joguinho é responsável pela lógica do jogo Construtor Inicia os elementos do jogo e o vetor de alvos Método dimensionarelementos Dimensiona os elementos do jogo de acordo com o tamanho da tela do dispositivo Método novojogo Reinicia o estado do jogo Método atualizarposicoes Atualiza as posições dos elementos e verifica as colisões

21 Joguinho Lógica do Jogo Método moverbarra Atualiza a posição da barra de acordo com o MotionEvent gerado pelo usuário Método lancarbola Atualiza a posição da barra de acordo com o MotionEvent gerado pelo usuário

22 Exercícios 1. Alterações no Jogo Apresentado a. Incluir no jogo um controle de níveis de forma que, quando um alvo for complemente destruído, um nível novo deve ser iniciado contendo um novo alvo. Em cada nível novo, a velocidade da bola deve ser incrementada b. Incluir no jogo um ranking, armazenando em um banco de dados o nome do jogador e a pontuação obtida. Fazer uma view que permita visualizar o ranking do jogo no dispositivo 2. Implementar um jogo semelhante a Moon Patrol ou Space Invaders

23 Referências Android para Programadores Uma abordagem baseada em aplicativos. Paul Deitel... [et al.]. Bookman, 2013 Google Android Aprenda a criar aplicações para dispositivos móveis com o Android SKD. Ricardo R. Lecheta. Novatec,

Desenvolvendo Jogos 2D-Android

Desenvolvendo Jogos 2D-Android DISPOSITIVOS MÓVEIS II Etep Desenvolvendo Jogos 2D-Android Prof. Rogério B. de Andrade Coordenador do Curso de Programação em Jogos Digitais Desenvolvimento de Jogos Utilizando Android Inicialmente o primeiro

Leia mais

Mais Elementos da Interface com o Usuário. Prof. Fellipe Aleixo

Mais Elementos da Interface com o Usuário. Prof. Fellipe Aleixo Mais Elementos da Interface com o Usuário Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Desenvolvimento de uma aplicação para registrar contatos e seus respec?vos telefones Algumas Classes

Leia mais

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento de um aplicativo básico usando o Google Android Desenvolvimento de um aplicativo básico usando o Google Android (Activity e o seu Ciclo de Vida) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática

Leia mais

Jogo do NEEC. Primeiramente, criamos uma nova Actividade. File > New > Class

Jogo do NEEC. Primeiramente, criamos uma nova Actividade. File > New > Class Jogo do NEEC Jogo do NEEC Primeiramente, criamos uma nova Actividade File > New > Class Source folder: JogoDoNEEC/src Package: org.neecist.jogodoneec Name: JogoDoNEEC Superclass: android.app.activity Browse

Leia mais

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){ UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Inflando layouts Se quisermos um layout mais complexo nas linhas de uma ListView, podemos criar objetos

Leia mais

Capítulo 02: Cadastro de Alunos

Capítulo 02: Cadastro de Alunos Capítulo 02: Cadastro de Alunos Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio

Leia mais

Aplicações que executam, em geral, processos longos em background desprovidos de interface. Usado para executar tarefas em segundo plano

Aplicações que executam, em geral, processos longos em background desprovidos de interface. Usado para executar tarefas em segundo plano Serviços Serviços Aplicações que executam, em geral, processos longos em background desprovidos de interface. Usado para executar tarefas em segundo plano Estas tarefas não possuem um tempo definido de

Leia mais

Escrito por Maicris Fernandes Qua, 11 de Dezembro de :15 - Última atualização Qua, 11 de Dezembro de :20

Escrito por Maicris Fernandes Qua, 11 de Dezembro de :15 - Última atualização Qua, 11 de Dezembro de :20 Prezado leitor, O objetivo deste artigo é mostrar como desenhar primitivas gráficas em uma tela de desenho baseada na classe View em Android. A classe View é responsável por prover uma interface de desenho

Leia mais

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil

Casa do Código Livros para o programador Rua Vergueiro, º andar Vila Mariana São Paulo SP Brasil Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhuma parte deste livro poderá ser reproduzida, nem transmitida, sem autorização prévia por escrito da editora, sejam quais

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 05 Java 2D Edirlei Soares de Lima Java 2D Java 2D é uma API da linguagem Java que fornece funcionalidades básicas para o desenho de objetos gráficos

Leia mais

Usando e Gerenciando Activities

Usando e Gerenciando Activities Usando e Gerenciando Activities Ciclo de vida Activity 2 Especificando a execução Especifica a Activity que é ponto principal de entrada de sua aplicação Se a ação MAIN action ou a categoria LAUNCHER não

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Inflando layouts Se quisermos um layout mais complexo nas linhas de uma ListView, podemos criar objetos

Leia mais

Primeira Aplicação Android Olá Mundo. Prof. Fellipe Aleixo

Primeira Aplicação Android Olá Mundo. Prof. Fellipe Aleixo Primeira Aplicação Android Olá Mundo Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Passo- a- passo de um Projeto Android Conceitos Básicos de uma Aplicação Principais Arquivos Execução da

Leia mais

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento de um aplicativo básico usando o Google Android Desenvolvimento de um aplicativo básico usando o Google Android (Activity e Intent) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.1 http://www.dcc.ufrj.br/~fabiom/java Space Invaders Componentes do Jogo Canhão Aliens Tiros Escudos Score e vidas Nem todos vão precisar de

Leia mais

Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps.

Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps. Navegar entre páginas Necessário o uso de Intent. Intenção de ir a algum lugar, acessar outros recursos, outros apps. Alterar o oncreate dentro de LoginActivity.java, para chamar uma próxima Activity.

Leia mais

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

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Action Bar A action bar é a barra superior da aplicação Surgiu no Android 3.0 (API Level 11) Benefícios Identifica a aplicação

Leia mais

Notification. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Notification. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento de um aplicativo básico usando o Google Android Desenvolvimento de um aplicativo básico usando o Google Android (Notification) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte

Leia mais

Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Log, Ciclo de Vida e Diálogos. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Log, Ciclo de Vida e Diálogos Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Log Classe android.u:l.log LogCat Ciclo de Vida Pilha de a:vidades Métodos e estados da a:vidade Instance State

Leia mais

Threads. Leonardo Gresta Paulino Murta

Threads. Leonardo Gresta Paulino Murta Threads Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Estudaremos a execução em paralelo de programas em Java por meio de Threads Leonardo Murta Threads 2 Por que usar Threads? Threads

Leia mais

Programação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos

Programação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos Programação Concorrente com Thread Java Luiz Affonso Guedes Sistemas Distribuidos Definições Básicas Threads são sub-procesos no sistema operacional. É menos custoso gerenciar threads do que processos.

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Hello World Professor: Danilo Giacobo OBJETIVOS DA AULA Desenvolver o primeiro aplicativo Android Se familiarizar com o ambiente de desenvolvimento Conhecer os principais

Leia mais

Novatec Editora Ltda. 2014, 2016.

Novatec Editora Ltda. 2014, 2016. 2ª EDIÇÃO Novatec Editora Ltda. 2014, 2016. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia

Leia mais

Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança. Callbacks. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR

Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança. Callbacks. Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR n n n n Exemplo de Aplicação Distribuída Serviço de Nomes Gerente de Segurança Callbacks Prof a Ana Cristina B. Kochem Vendramin DAINF / UTFPR Introdução Estende o modelo de objeto Java para fornecer suporte

Leia mais

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Lista de exercícios 6 Exercícios sobre repetição 1. Escreva um método que lê via teclado 8 números e retorna

Leia mais

Threads. O que é uma Thread? Paralelismo

Threads. O que é uma Thread? Paralelismo Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de

Leia mais

Programação Orientada a Objetos Relacionamentos entre classes

Programação Orientada a Objetos Relacionamentos entre classes Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO

Leia mais

Threads. Linguagem Java. Adenilso da Silva Simão 17/05/05

Threads. Linguagem Java. Adenilso da Silva Simão 17/05/05 17/05/05 Uma thread é uma linha de execução dentro de um programa Conceito de SO Java implementa suporte nativo a threads Duas formas de se implementar Implementando a interface Runnable Deve-se sobrepor

Leia mais

Utilizando Threads em Java

Utilizando Threads em Java Utilizando Threads em Java CCComp - DCE - UESB Resumo sobre os threads em Java Estrutura Geral das Implementações CCComp - DCE - UESB class ProcessoA extends Thread {... }//fim da classe ProcessoA class

Leia mais

Programação Gráfica Parte 2 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano

Programação Gráfica Parte 2 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano Programação Gráfica Parte 2 Versão em Java 2006 PUCPR Tutoria de Jogos 1º Ano Paulo V. W. Radtke pvwradtke@gmail.com http://www.ppgia.pucpr.br/~radtke/jogos/ AVISO IMPORTANTE!! Esta versão é dedicada exclusivamente

Leia mais

Desenvolvimento de Aplicativos Android

Desenvolvimento de Aplicativos Android Desenvolvimento de Aplicativos Android Criando uma Interface Simples A partir do diretório res/layout/ abra o activity_main.xml. Este arquivo XML define o layout da sua activity. Ele contém o texto padrão

Leia mais

Tutorial Android Speech

Tutorial Android Speech Tutorial Android Speech O sistema operacional Android já dispõe de uma funcionalidade interna para síntese e reconhecimento de voz que pode ser incorporado a qualquer aplicação. Essa funcionalidade utiliza

Leia mais

Novatec Editora Ltda

Novatec Editora Ltda Novatec Editora Ltda. 2014. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por

Leia mais

Interfaces e Classes Internas

Interfaces e Classes Internas e Classes Internas SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: insira as propriedades escolhidas aqui FACULDADE DE TECNOLOGIA SENAC PELOTAS

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: insira as propriedades escolhidas aqui FACULDADE DE TECNOLOGIA SENAC PELOTAS JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: insira as propriedades escolhidas aqui FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Fabiano Nobre Mendes Identificação da Turma: ADS(Noturno) Data:

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo

Leia mais

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Animation: Paint and thread FACULDADE DE TECNOLOGIA SENAC PELOTAS

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Animation: Paint and thread FACULDADE DE TECNOLOGIA SENAC PELOTAS JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Animation: Paint and thread FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Régis Machado Identificação da Turma: ADS 3º SEM/Noite Data: 13/5/2010

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Aula 2 Vidal. Ronnison Reges 1 1 Análise e Desenvolvimento de Sistemas - Parangaba Centro Universitário Estácio do Ceará 2018 Vidal. Ronnison Reges (Centro Universitário

Leia mais

Universidade Federal do Paraná

Universidade Federal do Paraná Universidade Federal do Paraná Departamento de Informática Ciência da Computação Android Modificando Views: CompassView Prof. Eduardo Todt Adaptado para Kotlin por Bernardo Ferrari 2018 Objetivos Exercício

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Prof. MSc. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br Programação para Dispositivos Móveis Aula: CRUD Agenda com SQLite Parte II Caxias - MA Projeto Android Estrutura Activity MainActivity.java

Leia mais

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias

Leia mais

APÊNDICE D O Projeto do javaplay

APÊNDICE D O Projeto do javaplay APÊNDICE D O Projeto do javaplay Este apêndice documenta os princípios de projeto do motor especialmente desenvolvido para este livro, o motor 2D javaplay. D.1 Arquitetura Geral O engine se divide em módulos

Leia mais

Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador

Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador THREADS EM JAVA Gabriel de Oliveira Ramos Roland Teodorowitsch - Orientador Universidade Luterana do Brasil (Ulbra) Curso de Ciência da Computação Campus

Leia mais

COMPORTAMENTOS - Observações

COMPORTAMENTOS - Observações COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para

Leia mais

MULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci

MULTITHREADING. Prof.: Michele Nasu Tomiyama Bucci MULTITHREADING Prof.: Michele Nasu Tomiyama Bucci Introdução O corpo humano realiza uma grande variedade de operações paralelamente, ou concorrentemente. Os computadores também realiza operações concorrentemente.

Leia mais

BroadcastReceiver. O que são mensagens broadcasts? Use notificações! (Serão explicadas em breve)

BroadcastReceiver. O que são mensagens broadcasts? Use notificações! (Serão explicadas em breve) Broadcast Receiver BroadcastReceiver Chamado pelo Android para reagir a mensagens broadcast Usado para executar tarefas rápidas em segundo plano Não interromper o usuário por meio de activities Use notificações!

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Prof. MSc. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br Programação para Dispositivos Móveis Aula - Service Caxias - MA Roteiro Service Service Fundamentos Componente responsável por rodar

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

Leia mais

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente): Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor Gráfico Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação com

Leia mais

Threads em Java. Java Threads. Java Componentes: JVM JVM:

Threads em Java. Java Threads. Java Componentes: JVM JVM: Threads em Java (Aula 17) Java Threads Difícil de classificar com user thread ou kernel thread As threads Java são gerenciadas pela JVM. Threads em Java podem ser criadas das seguintes maneiras: Fazendo

Leia mais

Capítulo 07: Câmera e Arquivos

Capítulo 07: Câmera e Arquivos Capítulo 07: Câmera e Arquivos Instrutor Programador desde 2000 Aluno de doutorado Mestre em informática pelo ICOMP/UFAM Especialista em aplicações WEB FUCAPI marcio.palheta@gmail.com sites.google.com/site/marcio

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Professor: Fernando Maia da Mota Orientações Básicas Leia atentamente as instruções para cada questão. A prova deverá ser feita a lápis ou caneta (preta ou azul) em uma folha de rascunho que será fornecida

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.1 http://www.dcc.ufrj.br/~fabiom/java Visibilidade Nem todos os campos e operações de um objeto são para consumo externo; várias delas podem

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor de Figuras Vamos usar nosso modelo de editor de figuras para fazer uma versão Android dele Ao invés

Leia mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes - Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes

Leia mais

[Desenvolvimento OO com Java] Classes abstratas e interfaces

[Desenvolvimento OO com Java] Classes abstratas e interfaces Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] Classes abstratas e interfaces Este obra está licenciada com uma

Leia mais

Avisos e Notificações aos Usuários

Avisos e Notificações aos Usuários Avisos e Notificações aos Usuários Caixa de Diálogos Pequena janela que solicita ao usuário tomar uma decisão ou inserir informações adicionais. Não preenche toda a tela Utilizado em eventos modais, requerem

Leia mais

Aula Prática Criando Views e Controles

Aula Prática Criando Views e Controles Aula Prática Criando Views e Controles Criando a interface utilizando Swing Paulo Ricardo Lisboa de Almeida 1 Criando uma UI Simples Vamos criar uma view simples no braço utilizando swing Existem opções

Leia mais

Interfaces e Classes Abstratas

Interfaces e Classes Abstratas Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos

Leia mais

Programa Analítico de Disciplina INF311 Programação para dispositivos móveis

Programa Analítico de Disciplina INF311 Programação para dispositivos móveis 0 Programa Analítico de Disciplina Departamento de Informática - Centro de Ciências Exatas e Tecnológicas Número de créditos: Teóricas Práticas Total Duração em semanas: 15 Carga horária semanal 3 1 Períodos

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Professor Ariel da Silva Dias Desenvolvendo para Android Android Core Uma aplicação Android é formada por um conjunto de componentes; A este conjunto damos o nome de

Leia mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco 1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 7: Interfaces LEEC@IST Java 1/31 Interfaces revisão (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido:

Leia mais

Introdução ao Android. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Introdução ao Android. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Introdução ao Android Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Conteúdo Introdução Mercado Versões Ambiente de Desenvolvimento Configuração das Máquinas Virtuais Referências Introdução Android

Leia mais

JavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo

JavaFX Classe de Controle e Eventos. Prof. Vicente Paulo de Camargo JavaFX Classe de Controle e Eventos Prof. Vicente Paulo de Camargo Labels são componentes que permitem auxiliar na compreensão de uma interface gráfica, principalmente para indicar as identificações de

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Aula 3 Vidal. Ronnison Reges 1 1 Análise e Desenvolvimento de Sistemas - Parangaba Centro Universitário Estácio do Ceará 2018 Vidal. Ronnison Reges (Centro Universitário

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Comunicação framework vs. jogo Toda a comunicação do framework com a jogo se dá através de métodos O jogo

Leia mais

ROOM: Biblioteca de Mapeamento Objeto-Relacional. Prof. Fellipe Aleixo

ROOM: Biblioteca de Mapeamento Objeto-Relacional. Prof. Fellipe Aleixo ROOM: Biblioteca de Mapeamento Objeto-Relacional Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Por que? Antes de mais nada: por que precisamos de persistência no disposi

Leia mais

Construtores e Especificadores de Acesso

Construtores e Especificadores de Acesso Construtores e Especificadores de Acesso Professora: Fátima L. S. Nunes 1 1 1 Orientação a Objetos Conceitos do Paradigma de Orientação a Objetos já vistos: Classes atributos e métodos Objetos instanciação

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

Manual do KBreakout. Fela Winkelmolen Stephanie Whiting Tradução: Luiz Fernando Ranghetti Tradução: André Marcelo Alvarenga

Manual do KBreakout. Fela Winkelmolen Stephanie Whiting Tradução: Luiz Fernando Ranghetti Tradução: André Marcelo Alvarenga Fela Winkelmolen Stephanie Whiting Tradução: Luiz Fernando Ranghetti Tradução: André Marcelo Alvarenga 2 Conteúdo 1 Introdução 6 2 Como jogar 7 3 Regras do jogo, estratégias e dicas 8 3.1 Regras............................................

Leia mais

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

Leia mais

Android. Interfaces: widgets

Android. Interfaces: widgets Android Interfaces: widgets Relembrando... Após a criação do projeto, será criada uma estrutura de diretórios necessária para um projeto Android. A pasta src contém os fontes das classe que representam

Leia mais

Lógica de Programação para Jogos

Lógica de Programação para Jogos Lógica de Programação para Jogos Curso de Capacitação www.abrindoojogo.com.br Pressione Start e inicie a sua carreira no desenvolvimento de jogos digitais. Focado no aluno que ainda não se considera um

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Programação Concorrente em Java

Programação Concorrente em Java Programação Concorrente em Java Prof. Orlando Loques - IC/UFF versão 17-04-2001 Referências: - Programação Concorrente em Java, Sérgio Teixeira de Carvalho & Leonardo N. M. Reis IC-UFF - Ousterhout, J.:

Leia mais

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

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Threads, Handler e AsyncTask No Android, cada aplicação é executada em um único processo. Cada processo por sua vez tem uma thread

Leia mais

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno. Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em

Leia mais

TÉCNICAS DE PROGRAMAÇÃO II TRABALHO 2

TÉCNICAS DE PROGRAMAÇÃO II TRABALHO 2 TÉCNICAS DE PROGRAMAÇÃO II TRABALHO 2 Descrição: O objetivo do trabalho 2 é desenvolver um jogo estilo shoot 'em up em Java, onde o jogador possa controlar uma espaçonave e destruir as espaçonaves inimigas

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Interfaces Gráficas Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Breakout Componentes do Breakout Bola Raquete Tijolos Paredes Score Nem todos vão precisar de classes próprias

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Modelo de Classes de Software Navegação 1 Programa Capítulo 3 Modelo de Classes

Leia mais

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS Uma activity é um componente do aplicativo que fornece uma tela com o qual os usuários podem interagir. Uma aplicação geralmente consiste de múltiplas activities,

Leia mais

Curso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ

Curso de Android - 2 Novas Activities. SECAP Prof. Rone Ilídio - UFSJ Curso de Android - 2 Novas Activities SECAP Prof. Rone Ilídio - UFSJ Inserindo a segunda activity Inserindo a segunda activity Criaremos uma aplicação com duas telas onde ao clicar o botão de uma chama-se

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais