Curso de Android_Jogos
Transcript of Curso de Android_Jogos
-
7/30/2019 Curso de Android_Jogos
1/127
Curso de Android
Captulo 1 Leia Primeiro
Como usar este material
Bem vindo, Aluno! Voc est comeando o Curso de Programao para Celular e Tablet
Android, criado por Bruno Nardini.
O primeiro passo aprender como usar este material para melhor aproveitamento do
contedo.
As informaes a seguir so um padro para organizar o material e deix-lo mais prtico. No
se preocupe em decorar esse padro, pois intuitivo e voc ir se acostumar
automaticamente durante a utilizao das apresentaes.
O fluxo da apresentao ser atravs do click do mouse na tela, ento a cada clique um textonovo ir aparecer, ou uma imagem, ou passar para o prximo passo, ou qualquer interao
at chegar no final do captulo.
Tome cuidado para no avanar sem ter visto todo o contedo da tela, ento use SEMPRE o
click do mouse na tela para acompanhar o material.
Que tal comear agora? Clique nesta tela!
O padro para os textos deste material :
Hiperlinks estaro sublinhados
Partes importantes estaro enfatizadas em negrito Termos tcnicos estaro em itlico
Esses podem estar juntos. Exemplo:
O throw diferente do throws, cada um tem sua.
Alm de a frase ser importante, throwe throws so termos tcnicos.
Em alguns textos haver diferentes hiperlinks com diferentes propsitos, os quais so:
Links Internos So links para outros lugares do material. Exemplo: para pular ou voltar um
captulo; fazer referncia a um material auxiliar como um cdigo;
Informaes So informaes extras para completar o que foi dito. Exemplo: explicar a
definio de um termo tcnico; dar exemplos do que foi explicado; uma curiosidade sobre o
assunto;
Avisos So avisos ou lembretes importantes. Exemplo: algo que voc no pode fazer; lembrar
a definio que j foi avisado; reforar uma informao importante;
Links Externos So links para contedos fora do material. Exemplo: referncia a sites;referncia a download; referncia a autores.
-
7/30/2019 Curso de Android_Jogos
2/127
Est disponvel junto com material os exemplos utilizados na apresentao.
No final de cada captulo voc poder fazer exerccios para fixar seus conhecimentos.
Voc aprender fazer tambm avaliaes para testar o seu aprendizado. As avaliaes so
importantes para tirar o certificado no final do curso.
Siga a ordem exata de cada captulo, para que no se perca e prejudique seu aprendizado.
O contedo foi feito de forma bem didtica e simples para que voc tenha o mximo de
aproveito. Apesar de um material srio, alguns toques de humor foi acrescentado para
descontrair um pouco, j que todo contedo passado por texto.
Tudo deveria se tornar o mais simples possvel, mas no simplificado (Albert Einstein)
As dvidas em relao ao ambiente Brava Curso so respondidas pelo prprio Help Desk da
Brava Cursos.
Bom Estudo !
Contedo Programtico
Captulo 1 LEIA PRIMEIRO
Como usar este materialCaptulo 2 Conceitos e definies
Introduo Verses Android API Level Android SDK
Captulo 3 Instalao
Introduo IDE ADT
Captulo 4 Ol Mundo
Ol Mundo AVD Emulando o Aplicativo
Captulo 5 Projeto Android
Introduo Estrutura Principal Recursos Android Manifest
-
7/30/2019 Curso de Android_Jogos
3/127
Projeto EclipseCaptulo 6 Componentes
Layout XML Paleta de Componentes Trabalhando com os Componentes
Captulo 7 Telas
Activity Navegando entre Telas Contextos Ciclo de Vida
Captulo 8 Layout
Layout Linear Layout Relativo Layout de Tabela Layout em Grade Layout Reaproveitvel
Captulo 9 Formulrios
Campos de Texto Mensagem Seleo nica Seleo Mltipla Boto de Ativao Auto Complete Calendrio
Captulo 10 Imagens
Drawable Imagem de Fundo Imagem no Boto Galeria de Imagens
Captulo 11 Jogos Parte 1
Thread Runnable Handler Criando o Jogo Desenhando um Objeto Criando um Objeto Personalizado
-
7/30/2019 Curso de Android_Jogos
4/127
Captulo 12 Jogos Parte 2
Objeto Dinmico Ataque Meteoros Painel Classes de Controle
Captulo 13 Publicando seus Aplicativos e Jogos
Google Play Ganhando Dinheiro Consideraes Finais
Captulo 2 Conceitos e Definies
Introduo
Voc est iniciando o Curso de Android, que ir capacit-lo para desenvolver aplicativos e
jogos para celular e tablet.
Android um sistema operacional mvel criado e mantido pela Google. Atualmente o mais
usado em celulares e em tablets vendidos pelo mundo.
Algumas funcionalidades do Android:
Framework de Aplicao permitido reuso e substituio de componentes Java Virtual Machine (Dalvik) otimizado para dispositivos mveis Navegador integrado baseado no motor de cdigo aberto Webkit Grficos registrados e otimizados para bibliotecas personalizadas para grficos 2D;
Grficos 3D baseado no OpenGL ES 1.0 (acelerao de hardware opcional)
SQLite para estrutura de base de dados Suporte a mdia para udios, vdeos e os seguintes formatos de imagens: MPEG4,
H.264, MP3, AAC, AMR, JPG, PNG, GIF
Telefonia GSM (depende do hardware) Bluetooth, EDGE, 3G e WiFi (depende do hardware) Cmera, GPS, compass e acelermetro (depende do hardware) Rico ambiente de desenvolvimento
-
7/30/2019 Curso de Android_Jogos
5/127
Cada verso do Android tm, desde a verso 1.5, nomes de sobremesas ou bolos (em ingls) e
seguem uma lgica alfabtica.
Atualmente o Android est na verso 4, chamada de Ice Cream Sandwich.
-
7/30/2019 Curso de Android_Jogos
6/127
API Level um nmero inteiro que identifica a verso da API do Framework lanada em uma
determinada verso.
A plataforma Android prov uma API do Framework que aplicativos podem usar para interagir
com o sistema Android.
A API do Framework consiste em:
O core de pacotes e classes Uma lista de elementos XML e atributos para declaraes no arquivo manifest Uma lista de elementos XML e atributos para declaraes de acesso a recursos Uma lista de Intents Uma lista de permisses que aplicativos podem requerer
-
7/30/2019 Curso de Android_Jogos
7/127
Android SDK (Software Development Kit) um kit de desenvolvimento para Android. Contm
todas as ferramentas e bibliotecas necessrias para que o Desenvolvedor possa criar um
aplicativo ou jogo para Android.
O Android SDK possui algumas ferramentas importantes:
SDK Manager Gerenciador de recursos do Android SDK. Nele voc pode escolherquais so os recursos que voc far download para seu Android SDK
AVD Manager Gerenciador de simuladores de dispositivos com Android Android Tool Shell com comandos para projetos Android ADB Shell com comandos para comunicao com os dispositivos virtuais ou reais
Captulo 3 Instalao
Introduo
Iremos agora preparar o ambiente de desenvolvimento, instalando e configurando asferramentas necessrias para comearmos a programar para Android.
A instalao e configurao semelhante para qualquer um desses sistemas operacionais:
Linux, MacOS e Windows.
-
7/30/2019 Curso de Android_Jogos
8/127
Para comearmos, voc precisar fazer o download do programa Eclipse:
http://www.eclipse.org/downloads/
Escolha o pacote: Eclipse IDE for Java Developers
O Eclipse uma IDE (Ambiente Integrado de Desenvolvimento) que ser o programa que
utilizaremos para programar.
A instalao bem simples, basta descompactar o arquivo em um diretrio de sua preferncia.
Em seguida s executar o Eclipse.
necessria a instalao do Java antes de usar o Eclipse.
Ferramenta de Desenvolvimento do Android, ou no inglsAndroid Development Tools (ADT),
um plugin para o Eclipse que lhe oferece um poderoso ambiente de desenvolvimento
integrado para o Android.
O ADT recomendado pela prpria Google como a melhor maneira e a mais rpida para se
desenvolver para o Android.
Vamos agora instalar o ADT no Eclipse.
Com o Eclipse abertom v ao menu Help >> Install New Software. Conforme mostra a imagem
abaixo:
http://www.eclipse.org/downloads/http://www.eclipse.org/downloads/http://www.eclipse.org/downloads/ -
7/30/2019 Curso de Android_Jogos
9/127
Na janela que ser exibida, clique no botoAdd...
Na nova janela, preencha com as seguintes informaes:
Name: Android ADT (Ou qualquer um a sua escolha)
Lacation:https://dl-ssl.google.com/android/eclipse/
Clique em OK
https://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/https://dl-ssl.google.com/android/eclipse/ -
7/30/2019 Curso de Android_Jogos
10/127
Em seguida clique no boto Next >
A instalao ir demorar de acordo com a sua conexo com a Internet.
Depois do download e antes da instalao, o Android ir exibir uma notificao de
confiabilidade do plugin, s clicar em OKe continuar. Este plugin foi desenvolvido e
mantido pela prpria Google, ento voc tem a garantia Google de confiabilidade.
Ao terminar a instalao, reinicie o Eclipse.
Ao reiniciar o Eclipse, uma janela ser exibida, conforme imagem abaixo:
A instalao do Android SDK de forma manual bem simples, basta fazer o download do
mesmo e descompact-lo em um diretrio de sua preferncia.
O download pode ser feito no prprio site do Android:
http://developer.android.com/sdk
http://developer.android.com/sdkhttp://developer.android.com/sdkhttp://developer.android.com/sdk -
7/30/2019 Curso de Android_Jogos
11/127
Mas sugiro que escolha a instalao automtica mesmo.
Depois de instalado o ADT e o SDK, seu Eclipse ganhar a toolbar do Android, semelhante a
imagem abaixo:
Clique no primeiro boto. Se deixar o mouse em cima do boto ir aparecer o texto Opens the
Android SDK Manager.
O Android SDK Manager gerencia todos os recursos instalados em seu SDK.
A janela do Android SDK Manager semelhante imagem abaixo:
Os seguintes componentes precisam ser instalados:
Tools:
Android SDK Tools Android SDK Platform-tools
Android 3.0 (API 11)
SDK Platform
-
7/30/2019 Curso de Android_Jogos
12/127
Android SDK 2.1 (API 7)
SDK PlatformNo h problemas em instalar outros componentes, pode instalar todos que quiser, mas
somente estes citados que sero usados neste curso.
Ao selecionar os componentes, clique no boto Install X Packages (Onde X o nmero de
componentes selecionados).
Na tela seguinte, selecione Accept All, para aceitar todas as licenas, depois clique no boto
Install. Assim sero instalados os componentes.
O seu ambiente de desenvolvimento para Android agora est pronto!
No prximo captulo iremos fazer nosso primeiro aplicativo.
Captulo 4 Ol Mundo
Curiosidade
Na rea de TI, quando vamos criar nosso primeiro programa em uma linguagem que estamos
aprendendo, ns damos o nome de Ol Mundo, do ingls Hello World.
-
7/30/2019 Curso de Android_Jogos
13/127
Na prxima janela voc escolher a verso mnima do Android que seu Aplicativo poder ser
instalado.
Ateno: Esta deciso importante para seu aplicativo, pois quanto menor a verso, maior
ser a compatibilidade, ou seja, maior nmero de dispositivos ir suportar seu aplicativo.
Se voc escolher a verso 3, dispositivos com Android na verso 2.1 ou 2.3, por exemplo, no
podero executar seu aplicativo. Mas dispositivos com Android na verso acima, como o 4, por
exemplo, podero execut-lo.
Porm, se voc escolher verses antigas, voc no poder usar recursos novos que esto
disponveis somente em verses mais novas.
Por isso muito importante voc escolher a verso que mais se adequa ao seu aplicativo.
Como iremos desenvolver um aplicativo simples, iremos inicialmente escolher a verso 2.1
para nosso aplicativo, que a verso que abrange mais de 95% dos dispositivos fabricados.
-
7/30/2019 Curso de Android_Jogos
14/127
Pronto! Seu projeto foi criado!
E deve ficar assim:
Agora, vamos testar o aplicativo no dispositivo, vamos criar um AVD para isso...
-
7/30/2019 Curso de Android_Jogos
15/127
AVD uma sigla para Android Virtual Device, que no portugus significa Dispositivo Virtual
Android.
O AVD um gerenciador de simuladores de celular e tablet, como ele voc pode simular
qualquer dispositivo com qualquer verso do Android.
Ento vamos agora criar um novo simulador para executar nosso primeiro aplicativo.
Clique no boto doAVD Managerda Toolbar do Android. Ao deixar o mouse em cima do
boto aparece a descrio Opens the Android VirtualDevice Manager.
Clique no boto New... para criar um novo AVD.
-
7/30/2019 Curso de Android_Jogos
16/127
Clique no boto Create AVD.
Agora o AVD Manager est da seguinte forma:
Selecione o AVD avd21 e clique no boto Start...
Na nova janela clique no boto Launch.
-
7/30/2019 Curso de Android_Jogos
17/127
O simulador ser carregado, costuma demorar um pouco at que ele carregue por completo.
Agora vamos executar o aplicativo Ol Mundo no simulador (AVD) que criamos.
-
7/30/2019 Curso de Android_Jogos
18/127
Como s existe um dispositivo iniciado, que o simulador aberto, o aplicativo poder ser
executado direto nele. Porm, o Eclipse pode te questionar qual dispositivo deseja executar o
aplicativo, principalmente se houver mais de um iniciado.
A janela para seleo do dispositivo esta:
S clicar no boto OKpara continuar.
-
7/30/2019 Curso de Android_Jogos
19/127
Note que no foi preciso digitar nenhuma linha de cdigo para criar o aplicativo e execut-lo.
Bem simples e prtico.
O aplicativo ainda no faz nada, mas ainda estamos no comeo do curso, ento fique calmo
que iremos ainda programar funcionalidades para deixar o aplicativo interativo com o usurio.
Curiosidade
Se voc possui um celular ou um tablet com Android, voc pode executar seus aplicativos
direto nele, sem precisar usar o simulador (AVD), basta plugar seu dispositivo no computador
via USB, e executar o projeto da mesma forma que fizemos antes.
No final do curso ser ensinado como disponibilizar o aplicativo no Google Play.
Captulo 5 Projeto Android
Introduo
Antes de comear o desenvolvimento preciso entender a estrutura dos projetos para
Android.
Todo aplicativo ou jogo deve seguir uma estrutura padro para que funcione no Android.
Iremos abordar de forma resumida e direta a estrutura dos projetos para Android, para vocse familiarizar com este ambiente, mas voc ir se acostumar conforme for criando seus
projetos durante o curso, ento no se preocupe em decorar, somente em entender o
contedo passado neste captulo.
-
7/30/2019 Curso de Android_Jogos
20/127
Todo projeto deve seguir a seguinte estrutura:
A pasta res (Resources, em ingls) o diretrio que tem o objetivo de armazenar os recursos
do projeto.
Veremos todos seus subdiretrios e suas finalidades.
As imagens por padro so colocadas no diretrio drawable, que sero usadas em qualquer
dispositivo.
Caso voc queira colocar a mesma imagem em diferentes resolues, j que seu aplicativo
pode se executado em diferentes dispositivos com diferentes resolues, voc separa estesarquivos nos respectivos diretrios drawable de resoluo. A imagem deve conter o mesmo
nome para o Android saber que a mesma imagem.
O diretrio layoutcontm os XMLs das telas do projeto. Cada tela possui um XML
correspondente a definio dos componentes que compe a tela.
Estes layouts tambm servem para layout no s de tela, mas como de outros componentes,
como um ListView, por exemplo.
Abordaremos com detalhes este diretrio nos prximos captulos.
O diretrio values armazenam estilos e textos.
-
7/30/2019 Curso de Android_Jogos
21/127
Os estilos so propriedades padres para componentes com o mesmo layout. Seria
semelhante ao CSS no desenvolvimento WEB.
Os textos so Strings armazenados em XML, para internalizar seu projeto. Voc pode colocar
um padro para cada linguagem (portugus, ingls, francs, espanhol, entre outros), e o seu
aplicativo assume os textos da linguagem definida no dispositivo.
O arquivoAndroidManifest.xmlcontm as configuraes essenciais sobre seu aplicativo para o
sistema Android. So informaes que o Android necessita antes que ele possa executar
qualquer cdigo do seu aplicativo.
Entre outras configuraes, esto presentes:
O nome do pacote Java para o aplicativo. O nome do pacote server como umidentificador nico.
Descreve os componentes do aplicativo. Os activities, services, broacast receives, econtent providers que compe o aplicativo.
Determina quais os processos hospedar os componentes do aplicativo. Declara quais as permisses que o aplicativo precisa acessar do dispositivo. Declara quais as permisses que outros aplicativos so requeridas para interagir com
seu aplicativo.
Declara a verso mnima da API do Android que o aplicativo requer. Lista as bibliotecas que o aplicativo precisa referenciar.
Abordaremos melhor oAndroidManifest.xmlde acordo com os projetos que iremos fazer
durante o curso.
-
7/30/2019 Curso de Android_Jogos
22/127
Como estamos usando o Eclipse para desenvolver os projetos, voc precisa tambm entender
como funciona o projeto Android dentro dele.
O diretrio gen de uso exclusivo do eclipse e voc no deve se preocupar com ele. Ele
modifica o contedo de acordo com a compilao do projeto.
O diretrio bin fica a compilao do projeto, onde gerado o arquivo *.apk para ser instalado
no Android, mas esta instalao feita automaticamente pelo Eclipse.
O arquivo .classpath contm as referncias para as bibliotecas utilizadas pelo projeto e se elas
devem ser exportadas para o projeto compilado.
O arquivoprojects.properties contm as propriedades do projeto, como por exemplo, a API do
SDK utilizada para o desenvolvimento do projeto.
-
7/30/2019 Curso de Android_Jogos
23/127
Voc j aprendeu como a estrutura do projeto deve seguir, no captulo anterior tambm
aprendeu a criar e executar o projeto no Android, agora voc est preparado para comear a
desenvolver.
Captulo 6 Projeto Android
Introduo
Voc ir agora conhecer os componentes padres do Android para desenhar as telas.
Aprenderemos como e quando us-los em seus aplicativos.
Iremos utilizar neste captulo o projeto Ola Mundo criado no captulo 4.
Como vimos no captulo anterior, o diretrio ../res/layout/contm os XMLs com os layouts do
projeto.
O Eclipse automaticamente j cria o arquivo main.xmlneste diretrio.
Veja a estrutura j existente:
Um clique-duplo no main.xmlpara abri-lo.
-
7/30/2019 Curso de Android_Jogos
24/127
O Eclipse abrir o arquivo da seguinte maneira:
-
7/30/2019 Curso de Android_Jogos
25/127
-
7/30/2019 Curso de Android_Jogos
26/127
-
7/30/2019 Curso de Android_Jogos
27/127
-
7/30/2019 Curso de Android_Jogos
28/127
-
7/30/2019 Curso de Android_Jogos
29/127
-
7/30/2019 Curso de Android_Jogos
30/127
-
7/30/2019 Curso de Android_Jogos
31/127
Voc deve ter notado que ao adicionar o texto, somente foi possvel adicionar em baixo ou emcima do boto, no sendo possvel colocar ao lado. Isso se deve ao fato de estarmos usando o
LinearLayoutna orientao vertical.
Vamos agora alterar o texto dos componentes adicionados.
H duas maneiras de fazer isso, pelo modo grfico ou direto no cdigo pelo editor XML.
Para aprendermos das duas formas, iremos trocar o texto do boto pelo modo grfico e do
texto direto no cdigo.
-
7/30/2019 Curso de Android_Jogos
32/127
-
7/30/2019 Curso de Android_Jogos
33/127
E no modo grfico ficar assim:
-
7/30/2019 Curso de Android_Jogos
34/127
Se voc executar o projeto ver que o aplicativo no Android ter a tela agora semelhante a tela
que voc desenhou. Porm, o boto ainda no executa nenhuma ao...
... vamos ento adicionar uma ao a este boto.
Primeiro vamos editar o identificador dos nossos componentes para fcil identificao no
cdigo fonte.
Na edio de XML, mude os atributos android:iddo boto e do texto, respectivamente, para os
identificadores @+id/btnMsg e @+id/txtMsg.
-
7/30/2019 Curso de Android_Jogos
35/127
-
7/30/2019 Curso de Android_Jogos
36/127
-
7/30/2019 Curso de Android_Jogos
37/127
Agora vamos executar o nosso aplicativo!
-
7/30/2019 Curso de Android_Jogos
38/127
Seu aplicativo criou vida!
Neste captulo voc aprendeu sobre os componentes do Android e os primeiros passos para
desenhar uma tela e codificar suas aes.
No prximo captulo entraremos a fundo sobre a codificao das telas.
Captulo 7 Telas
Introduo
AS telas no Android so tratadas com o nome deActivity(Atividade). Neste captulo iremos ver
como trabalhar com detalhes de seu comportamento e como trabalhar com asActivities.
Uma Activity um componente do aplicativo que fornece uma tela com a qual os usurios
podem interagir, a fim de fazer algo, como discar o telefone, tirar uma foto, enviar um e-mail
ou visualizar um mapa.
J vimos no captulo anterior como fazemos para desenhar uma tela, atribuindo componentes
e definindo suas propriedades, tudo atravs do Layout XML.
Vimos tambm como codificar essa tela para executar uma ao.
Mas no vimos ainda como o XML e o cdigo esto conectados.
-
7/30/2019 Curso de Android_Jogos
39/127
TodaActivitydeve ter como superclasse a classeActivity.
AlgumasActivities podem ser herdadas de outras classes, como a ListActivity, que j possuem
como superclasse a classeActivity.
Note agora que foi sobrescrito o mtodo onCreate(Bundle savedInstanceState) da superclasse
Activity. Comoo prprio comentrio explica, esse mtodo chamado quando aActivity
criada pela primeira vez.
Na linha 15 definido o Layout XML que aActivityir usar para desenhar a tela. Foi passado
para o mtodo setContentView(View view) o layout main.xml.
Para todaActivitycriada necessrio informar aoAndroid Manifestda sua existncia, casocontrrio o projeto no ter permisso para execut-la.
Abra o arquivoAndroidManifest.xml.
-
7/30/2019 Curso de Android_Jogos
40/127
Clique na abaApplication.
-
7/30/2019 Curso de Android_Jogos
41/127
-
7/30/2019 Curso de Android_Jogos
42/127
Iremos agora criar mais uma tela para voc entender melhor essa referncia entre cdigo
fonte e Layout XML, assim como aprender a fazer a navegao entre elas.
Para este captulo crie um novo projeto Android com os seguintes dados:
Com o projeto criado, ele ter a seguinte estrutura no Package Explorer:
Primeiro vamos criar o Layout XML dasActivities do nosso projeto.
-
7/30/2019 Curso de Android_Jogos
43/127
-
7/30/2019 Curso de Android_Jogos
44/127
Repita o processo para criar os layouts egito.xmlefencia.xml.
Seu projeto ficar com a seguinte estrutura:
Agora vamos adicionar alguns componentes nos layouts criados. Os seguintes componentes
devem ser adicionados nas seguintes telas...
-
7/30/2019 Curso de Android_Jogos
45/127
Os atributos para cada componente so:
Agora vamos criar o cdigo fonte para asActivities.
-
7/30/2019 Curso de Android_Jogos
46/127
-
7/30/2019 Curso de Android_Jogos
47/127
Repita o mesmo procedimento para as classes EgitoActivitye FeniciaActivity.
No se esquea de associar com seus respectivos Layouts XML.
Em seguida vamos adicionar a referncia das Activities noAndroid Manifest.
Abra oAndroidManifest.xml, v na AbaApplication, no grupoApplication Nodes clique no
botoAdd...
Selecione o itemActivitye clique no boto OK.
Preencha o campo Name com o valor .MapaActivity(no esquea do ponto antes da classe,
que faz referncia ao pacote principal do projeto).
-
7/30/2019 Curso de Android_Jogos
48/127
Repita o mesmo procedimento para as classes EgitoActivitye FeniciaActivity. Em seguida
vamos codificar a navegao entre as telas.
-
7/30/2019 Curso de Android_Jogos
49/127
Na linha 24 foi instanciado um objeto da classe Intent.
Um Intent uma descrio abstrata de uma operao a ser executada. O Intentfornece uma
facilidade para realizao em tempo de execuo de uma ligao entre o cdigo em diferentes
aplicaes, onde pode ser transferidas informaes entreActivities.
O mesmo feito na linha 31 e 32 para MapaActivity.
Agora faremos o cdigo do MapaActivity.
Agora faremos o cdigo do EgitoActivity.
-
7/30/2019 Curso de Android_Jogos
50/127
O cdigo semelhante ao que j fizemos.
No evento do boto Voltar, finalizamos a tela atual, como j fizemos no MapaActivity. No
evento do boto Seguir ns chamamos a tela FeniciaActivity e em seguida finalizamos a tela
atual.
Na tela FeniciaActivity no h codificao extra, simplesmente ser exibido a mensagem que jdefinimos nofencia.xml.
Vamos executar o projeto?
-
7/30/2019 Curso de Android_Jogos
51/127
-
7/30/2019 Curso de Android_Jogos
52/127
-
7/30/2019 Curso de Android_Jogos
53/127
-
7/30/2019 Curso de Android_Jogos
54/127
O usurio sempre ter a opo de fechar a tela atual utilizando o boto padro dos
dispositivos Android. Veremos agora a parte do cdigo que deixamos para o prximo tpico.
Contextos so informaes do ambiente da aplicao. O Android possui dois contextos:
-
7/30/2019 Curso de Android_Jogos
55/127
Activity Context Contexto de uma tela. Application Context Contexto do Aplicativo.
Toda classe que representa um desses contextos implementam a interface Context.
-
7/30/2019 Curso de Android_Jogos
56/127
O contexto nos til quando precisamos de alguma informao da aplicao, como buscar o
diretrio em que o aplicativo foi instalado, por exemplo.
As Activities possuem um ciclo de vida da sua criao at a sua destruio. importante
entender esse ciclo para entender seu funcionamento.
-
7/30/2019 Curso de Android_Jogos
57/127
Voc j implementou o mtodo onCreate() da Activity, os demais so implementados da
mesma forma, o que difere o momento em que cada mtodo invocado pelo aplicativo,
como visto no fluxo que acabou de ver.
Neste captulo voc aprendeu a criar diferentes telas para seu aplicativo e como interagir entre
elas. Aprendeu que a ela tratada pelo Android como uma Activity, apredeu seu ciclo de vida
e sobre o contexto do Android.
Aprendendo os conceitos de forma correta, voc perceber que o desenvolvimento para
Android bem mais simples do que parece, e at mesmo divertido. Espero que esteja
gostando!
Vamos ento para o prximo captulo.
Captulo 8 Layout
Introduo
No captulo anterior vimos como funciona as telas do Android e utilizamos vrias vezes o
Layout Linear (LinearLayout) para organizar os componentes na tela.
Neste captulo iremos ver sobre este e outros layouts do Android, para voc aprender
diferentes formas de organizar os componentes.
O Layout Linear (LinearLayout) um Grupo de Viso (ViewGrupo) que disponibiliza os
componentes em uma direo linear, seja horizontal ou vertical.
Voc deve ser cauteloso ao uso excessivo do LinearLayout. Se voc estiver usando vrios em
uma s tela, talvez voc deva considerar em usar o Layout Relativo.
Crie um novo projeto Android com os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
58/127
-
7/30/2019 Curso de Android_Jogos
59/127
Vamos analisar o XML:
Existe o n principal LinearLayoutque define sua orientao como vertical todos os ns filhos(neste caso possui dois) sero posicionados verticalmente.
O primeiro n filho um outro LinearLayoutque usa uma orientao horizontal e o segundo
n filho um LinearLayoutque usa a orientao vertical. Cada um desses LinearLayouts
contm alguns componentes TextView, que so orientados de acordo com seus respectivos
LinearLayout.
-
7/30/2019 Curso de Android_Jogos
60/127
O Layout Relativo (RelativeLayout) um Grupo de Viso (ViewGroup) que disponibiliza cada
componente em posies relativas.
A posio de um componente pode ser especificado como em relao a elementos irmos (tal
como para a esquerda de ou abaixo de um determinado componente) ou em posies
relativas para a rea de um RelativeLayout(tais como alinhado com o fundo, esquerda do
centro).
Crie um novo projeto Android com os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
61/127
Vamos analisar o XML:
Note que em cada um dos atributos android:layout_*, assim como layout_below,
layout_alignParentRight e layout_toLeftOf.
Quando usado o RelativeLayout, voc pode usar esses atributos para descrever como vocquer posicionar cada componente. Cada um desses atributos define um tipo diferente de
posio relativa.
Alguns atributos usam o ID de um componente para definir sua posio relativa. Por exemplo,
se voc definiu que um boto ter margem esquerda de 20dp, voc alinha os demais botes
com a mesma posio-esquerda deste primeiro boto, assim se voc mudar a margem
esquerda para outro valor do primeiro boto, todos os demais botes iro acompanha-lo.
O Layout de Tabela (TableLayout) um Grupo de Viso (ViewGroup) que disponibiliza os
componentes em linhas e colunas, ou seja, como uma tabela.
Crie um novo projeto Android com os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
62/127
-
7/30/2019 Curso de Android_Jogos
63/127
Vamos analisar o XML:
Note como este se assemelha estrutura de uma tabela HTML. O elemento TableLayout
como o elemento do HTML. TableTow como o elemento . Mas, para as clulas,
voc pode usar qualquer tipo de componente.
Neste exemplo, um TextView usado para cada clula. Entre algumas linhas, existe tambm
uma viso bsica, que usada para desenhar uma linha horizontal.
-
7/30/2019 Curso de Android_Jogos
64/127
O Layout em Grade (GridLayout) um Grupo de Viso (ViewGroup) que disponibiliza os
componentes em uma grade bidimensional, rolhvel. Os itens da grade so inseridos
automaticamente no Layout usando um ListAdapter.
Voc ir criar uma grade de imagens miniaturas. Quando uma imagem selecionada, uma
mensagem ir exibir a posio da imagem.
Crie um novo projeto Android com os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
65/127
Depois do layout main.xml associado classe HelloGridView, o mtodo setAdapter() defineum adaptador genrico (ImageAdapter) como fonte para todos os itens a serem exibidos na
grade. O Image Adapter criado no prximo passo.
Para fazer algo quando um item da grade clicado, o mtodo setOnItemClickListener() recebe
um novoAdapterView.OnItemClickListener. Esta instncia annima define o mtodo de
calbackdo onItemClick() para exibir uma mensagem que informa a posio (baseado em zero)
do item selecionado.
Crie a classe ImageAdaptere edite seu contedo da seguinte forma:
-
7/30/2019 Curso de Android_Jogos
66/127
Vamos analisar a classe ImageAdapter:
Primeiro, esta implementao requer mtodos herdados do BaseAdapter. O construtor e o
mtodo getCount() so auto-explicativos. Normalmente, getItem(int) deve retornar o objeto
atual na posio especificada no adaptador, mas isto ignorado neste exemplo. Tambm, o
mtodo getItemId(int) deve retornar o ID da linha do item, mas no usado neste exemplo.
O primeiro mtodo necessrio o getView(). Este mtodo criar uma nova viso para cada
imagem adicionada ao ImageAdapter. Quando este chamado, uma viso passada, que
normalmente um objeto reciclado (deve ser chamado pelo menos uma vez), ento
verificado se o objeto nulo. Se no for nulo, uma ImageView iniciada e configurada com aspropriedades desejadas para a apresentao da imagem.
Se a viso passada para o getView() no nulo, ento a imagem local inicializada com o
objeto reciclado da viso.
No final do mtodo getView(), a posio passada no mtodo usada para selecionar uma
imagem do array mThumblds, que definido como um recurso de imagem para o ImageView.
Tudo o que resta definir o array mThumblds de recursos drawable.
O array mThumblds contm referncias s imagens do projeto que est disponvel no painel doaluno. Voc pode utilizar estas imagens ou escolher outras, bastando adicionar no diretrio
res/drawable/.
-
7/30/2019 Curso de Android_Jogos
67/127
No Android voc pode reaproveitar um layout dentro de vrios outros layouts. Desta forma,
voc pode fazer cabealhos ou rodaps uma s vez e reutiliz-los em todas as suas telas, ouqualquer tipo de layout que se repita mais de uma vez.
Crie um novo projeto Androide om os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
68/127
-
7/30/2019 Curso de Android_Jogos
69/127
-
7/30/2019 Curso de Android_Jogos
70/127
Clique no boto.
-
7/30/2019 Curso de Android_Jogos
71/127
Neste captulo voc aprendeu a criar diferentes tipos de layouts para organizar oscomponentes de diferentes maneiras.
Faa bom uso dos layouts no design de suas telas.
Captulo 9 Formulrios
Introduo
H vrias formas de entrada de dados no Android, comumente usados em desenvolvimento
para desktops ou Web, que so os componentes de formulrios.
Neste captulo veremos como funcionam estes componentes no Android.
-
7/30/2019 Curso de Android_Jogos
72/127
Para este captulo crie um novo projeto Android com os seguintes dados:
Os seguintesActivities devero ser criados com seus respectivos Layouts XML:
Inclua estesActivities noAndroidManifest.xml
-
7/30/2019 Curso de Android_Jogos
73/127
-
7/30/2019 Curso de Android_Jogos
74/127
A finalidade desta tela fazer que o usurio digite seu nome para exibir uma mensagem
personalizada.
Usamos o mtodo getText() do EditTextque o usurio ir digitar seu nome para pegar o valor
digitado e adicionamos o valor, com um texto fixo concatenando no componente TextView
para exibir ao usurio.
-
7/30/2019 Curso de Android_Jogos
75/127
No exemplo anterior, se o usurio no digitar nenhum texto e clicar ir aparecer a mensagem
Ol, !.
Esta mensagem no amigvel ao usurio, pois esperamos que algum nome seja digitado.
Para isso teremos que criar uma validao.
A validao ir notificar ao usurio que o campo Nome de preenchimento obrigatrio. Esta
notificao ser feita atravs de uma mensagem.
Utilizaremos ento o recurso padro do Android de mensagens.
-
7/30/2019 Curso de Android_Jogos
76/127
Utilizamos a classe Toastpara exibir a mensagem ao usurio. Foi utilizado o mtodo
makeTest() para criar a mensagem e o mtodo show() para exibi-la.
-
7/30/2019 Curso de Android_Jogos
77/127
Execute o projeto e veja o comportamento da seleo nica. Como o prprio nome do tpico
sugere este componente deve ser usado para quando o usurio quiser selecionar uma opode uma lista.
-
7/30/2019 Curso de Android_Jogos
78/127
Execute o projeto e veja o comportamento da seleo mltipla. Como o prprio nome deste
tpico sugere este componente deve ser usado quando o usurio quiser selecionar uma ou
mais opes de uma lista.
-
7/30/2019 Curso de Android_Jogos
79/127
Execute o projeto e veja o comportamento do boto de ativao. O boto de ativao deve ser
usado quando a opo possui somente duas escolhas, que normalmente so para ativar ou
desativar alguma funcionalidade do seu aplicativo ou do Android.
Crie um novo projeto Android com os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
80/127
-
7/30/2019 Curso de Android_Jogos
81/127
No cdigo anterior foi criado um novoArrayAdaptere inicializado com o layout list_item.xml
para cada item a lista do array PAISES (definido no prximo passo).
Em seguida o mtodo setAdapter() chamado para associar oArrayAdaptercom o
componenteAutoCompleteTextViewpara que o array popule a lista de sugestes.
Crie um novo projeto Android com os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
82/127
-
7/30/2019 Curso de Android_Jogos
83/127
-
7/30/2019 Curso de Android_Jogos
84/127
Neste captulo foi demonstrado que possvel trabalhar com componente de formulrios de
forma bem simples, semelhante a outras plataformas de desenvolvimento em Java, como
Desktop e WEB.
Aproveite agora para criar um aplicativo utilizando o conhecimento obtido at agora. Seulimite sua criatividade, misture componentes, use-os de diferentes formas e se divirta.
A prtica ir fixar o conhecimento. No se prenda aos exemplos criados aqui, faa outros da
sua maneira, para absorver melhor o contedo.
Utilize os captulos anteriores como consulta para relembrar o que j foi estudado.
Depois continue o curso no prximo captulo.
Captulo 10 Imagens
Introduo
Neste captulo iremos trabalhar com imagens de diversas formas, seja como imagem de fundo,
em botes ou uma galeria.
Para este captulo crie um novo projeto Android com os seguintes dados:
-
7/30/2019 Curso de Android_Jogos
85/127
Pegue as imagens que esto no painel do aluno neste captulo e coloque no diretrio do
projeto res/drawable. Caso o Eclipse tenha criado o diretrio res/drawable-mdpi, altere o
nome para res/drawable, e delete os demais diretrios drawable se houver. Atualize o projeto.
Como j vimos, quando queremos armazenar uma imagem no nosso projeto, podemos
armazen-la no diretrio res/drawable. Iremos ver agora como usar essas imagens.
-
7/30/2019 Curso de Android_Jogos
86/127
-
7/30/2019 Curso de Android_Jogos
87/127
No diretrio Drawable podemos criar imagens de forma programtica tambm, atravs do
XML.
Agora vamos criar um fundo gradiente e adicionar ao fundo da tela.
-
7/30/2019 Curso de Android_Jogos
88/127
Vimos que da mesma forma que definimos uma imagem atravs do componente ImageView,
tambm podemos alterar o fundo de outros componentes atravs do atributo
android:background.
-
7/30/2019 Curso de Android_Jogos
89/127
Tambm vimos que possvel criar desenhos atravs do XML e us-lo como imagem.
No Android podemos tambm personalizar os botes, com imagens diferentes para cada
estado. Iremos colocar um boto com uma imagem normal e outra para quando for clicado.
-
7/30/2019 Curso de Android_Jogos
90/127
Vimos que com o XML conseguimos definir uma imagem para o boto e outra para quando o
boto for clicado.
Quando queremos exibir vrias imagens, mais do que cabe na tela, se torna interessante o uso
de uma galeria para exibio dessas imagens. Iremos agora criar esta galeria.
-
7/30/2019 Curso de Android_Jogos
91/127
-
7/30/2019 Curso de Android_Jogos
92/127
-
7/30/2019 Curso de Android_Jogos
93/127
Neste captulo voc aprendeu a trabalhar com imagens de diferentes formas. Imagens so
recursos importantes no design de um aplicativo. Tenha cuidado com imagens grandes, pois os
dispositivos dispem de pouca memria para process-los.
Captulo 11 Jogos parte 1
Introduo
Deste captulo em diante iremos aplicar todo o conhecimento obtido no curso em um jogo.
Mesmo que voc no tenha interesse em jogos, voc obter conhecimentos importantes e
colocar em prtica o que j aprendeu neste curso, reforando o conhecimento.
Iremos comear com alguns conceitos que sero usados no desenvolvimento do jogo. Estes
conceitos podem ser usado em qualquer aplicativo, mas citaremos o jogo apenas para no ter
que ficar repetindo o tempo todo que serve tanto para jogos quanto para aplicativos.
-
7/30/2019 Curso de Android_Jogos
94/127
Thread uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem
ser executadas concorrentemente. O Java implementa uma thread atravs da classes
java.lang.Thread.
O uso da thread importante para executar um processo que possa demorar sem travar o
jogo. Quando voc inicia uma thread, o processo enviado ao sistema operacional (no nossocaso, o Android) e ele rodar em paralelo e independente do seu jogo. Seu jogo estar livre
para continuar, pois ele no ir esperar a execuo da thread.
Vamos imaginar o seguinte cenrio:
Ao executar uma ao, voc precisa que seja executado 3 processos.
-
7/30/2019 Curso de Android_Jogos
95/127
No jogo iremos usar threads para cada processo, pois um jogo deve ser dinmico e uma ao
no pode ficar esperando o trmino de outra.
No Android, h uma particularidade em relao s threads. Como se perde o controle da
thread ao inci-la, uma thread no pode alterar os componentes de uma Activity, pois no h
garantias de qual Activity est aberta ou se existe alguma aberta quando executado uma ao
dentro da thread.
Para que voc possa alterar um componente de uma Activity em uma thread, voc ter que
executar a thread dentro do mtodo runOnUiThread() da Activity em questo. Este mtodo
dar garantia que o componente s ser alterado se a Activity estiver disponvel para
alterao.
-
7/30/2019 Curso de Android_Jogos
96/127
No Java, para que voc possa rodar uma Thread, voc precisa de uma classe que implemente a
interface Runnable. A interface Runnable possui apenas um mtodo abstrato, que o mtodo
run(). Este mtodo onde estar o cdigo que ser executado ao iniciar a Thread.
Voc ver na prtica o funcionamento do Runnable quando comearmos a codificar o jogo.
Assim como aplicativo perde o controle Thread assim que inicia, o inverso tambm acontece, a
thread perde o controle da classe que a inicia. Porm, h uma forma de ambos secomunicarem, utilizando uma classe para enviar e receber mensagens. Essa classe chamamos
de handler.
Handler uma classe criada com o objetivo de uma classe se comunicar com a thread e vice-
versa. Vamos ver como funciona o fluxo desse processo.
-
7/30/2019 Curso de Android_Jogos
97/127
Iremos criar um jogo simples, mas bem dinmico e o chamaremos de Guerra Espacial.
Primeiro vamos definir como ser o jogo.
-
7/30/2019 Curso de Android_Jogos
98/127
-
7/30/2019 Curso de Android_Jogos
99/127
Agora que definimos como ser o jogo, vamos coloca-lo em prtica!
Iremos criar o projeto do jogo da mesma forma que criamos todos os projetos at agora:
Pegue as imagens que esto no painel do aluno neste captulo e coloque no diretrio
res/drawable. Caso o Eclipse tenha criado o diretrio res/drawable-mdpi, altere o nome para
res/drawable, e delete os demais diretrios drawable se houver. Atualize o projeto.
Primeiro iremos criar o layout do painel. Para ficar mais organizado, como iremos usar alguns
componentes s para o painel, iremos criar um Layout XML s para o painel.
-
7/30/2019 Curso de Android_Jogos
100/127
Agora iremos criar o layout para o jogo, utilizando o layout que criamos do painel.
-
7/30/2019 Curso de Android_Jogos
101/127
Por ltimo, iremos definir que o jogo deve ser exibido somente com o dispositivo na
horizontal, ou seja, no modo retrato. Abra o arquivoAndroidManifest.xmle v na aba
Application.
-
7/30/2019 Curso de Android_Jogos
102/127
-
7/30/2019 Curso de Android_Jogos
103/127
Ns iremos desenhar programaticamente o tiro da nave, para que voc possa aprender a
desenhar objetos no Android. O tiro ser um desenho, ento iremos coloca-lo no diretrio
drawable como se fosse uma imagem qualquer do projeto.
-
7/30/2019 Curso de Android_Jogos
104/127
No iremos colocar o tiro no layout, pois o tiro ser criado em tempo de execuo. Toda vez
que for clicado no boto atirar, o tiro ser includo na tela. Mas em outro caso voc queira usar
um desenho no seu layout, basta referenci-lo da mesma forma que voc faria com qualquer
outra imagem drawable.
Para este jogo no podemos ficar presos aos componentes padres do Android, precisaremos
criar um novo para que possamos definir propriedades e mtodos personalizados. Para isso
iremos criar um componente prprio que daremos o nome de ObjetoDinamico.
Crie o seguinte pacote (package):
br.com.guerraespacial.objetos
E adicione neste pacote a seguinte classe:
ObjetoDinamico.java
Note que herdamos a classe ObjetoDinamico da classe ImageView, pois iremos reaproveitar
suas propriedades e mtodos.
-
7/30/2019 Curso de Android_Jogos
105/127
Por enquanto esa mudana no deve ter nenhum efeito, pois no fizemos nada diferente no
ObjetoDinamico. Mas essa personalizao ser muito til quando iniciarmos a programao do
jogo, pois poderemos definir as propriedades de mtodos para esta classe da nossa maneira.
Neste captulo voc aprendeu conceitos importantes para criar um jogo ou aplicativo comlayout mais dinmico. Aprendeu tambm conceitos importantes sobre Thread e Handler para
trabalhar com processos de forma assncrona.
No prximo captulo iremos codificar as funcionalidades do jogo.
Captulo 12 Jogos Parte 2
Introduo
Neste captulo iremos programar as seguintes funcionalidades do jogo:
Aes dos botes:
-
7/30/2019 Curso de Android_Jogos
106/127
o Movimentar a nave para cimao Movimentar a nave para baixoo Nave atirar
Criar meteoros aleatrios indo em direo nave Colises:
o O tiro deve adicionar um ponto ao colidir com o meteoro e destru-loo O meteoro deve remover uma vida ao colidir com a nave
Quando a vida chegar a zero, o jogo deve ser finalizado
Iremos agora definir as propriedades e mtodos necessrios do ObjetoDinamico.
-
7/30/2019 Curso de Android_Jogos
107/127
Nestes mtodos utilizamos a altura e a largura pr-definidas para quando o mtodo getWidth()
e o getHeight() retornam o valor zero, uma vez que estes mtodos s possuem valor quando
conseguem pegar a proporo da tela. O marcador objetoDestruido serve para marcar que o
objeto deve ser destrudo.
Ainda no pacote:
br.com.curso.guerraespacial.objetos
Vamos criar as seguintes classes:
ObjetoHandler
DestruirObjetoRunnable
-
7/30/2019 Curso de Android_Jogos
108/127
-
7/30/2019 Curso de Android_Jogos
109/127
-
7/30/2019 Curso de Android_Jogos
110/127
Iremos criar agora as classes para que a nave possa atirar. Crie o pacote:
br.com.curso.guerraespacial.tiro
Neste pacote, crie as classes:
Tiro, MoverTiroRunnable, TiroHandler, TiroRunnable
-
7/30/2019 Curso de Android_Jogos
111/127
A classe TiroRunnable ir movimentar o tiro at chegar ao final da tela, depois ir remover o
tiro da tela.
-
7/30/2019 Curso de Android_Jogos
112/127
A classe TiroHandler um handler com as aes do tiro. A classe Colisao ser criada
posteriormente.
A classe Tiro servir para criar o tiro e depois ir chamar a Thread para movimentar o tiro pela
tela.
-
7/30/2019 Curso de Android_Jogos
113/127
O Painel onde contabilizado e exibido a quantidade de vidas e pontos do jogo. A cada tiro
que destri um meteoro acrescentado 1 ao ponto. A cada meteoro que atinge a nave
subtrado 1 vida. O placar inicial de 3 vidas e 0 pontos.
O atributojogoFinalizado um marcador para definir se o jogo est rodando ou se foi
finalizado. Criamos mtodos para remover a vida, adicionar ponto e finalizar o jogo, que so
-
7/30/2019 Curso de Android_Jogos
114/127
eventos do jogo controlados pelo Painel. Cada um desses eventos inicia uma nova Thread.
Essas threads executam implementaes do Runnable que iremos criar agora.
A classe RemoverVidaRunnable ir remover 1 da vida. Caso a vida esteja com o valor zero, ser
finalizado o jogo.
-
7/30/2019 Curso de Android_Jogos
115/127
Esta classe ir exibir a mensagem de Jogo Finalizado e ir bloquear o jogo.
-
7/30/2019 Curso de Android_Jogos
116/127
-
7/30/2019 Curso de Android_Jogos
117/127
A classe MeteoroHandler contm mtodos para criao, movimentao e destruio do
meteoros. Cada um desses eventos inicia um novo thread. Essas threads executam
implementaes do Runnable que iremos criar agora.
-
7/30/2019 Curso de Android_Jogos
118/127
O mtodo getRandomNumber() gera um nmero aleatrio de zero at o valor mximo
passado por parmetro. Ao criar o meteoro, ser gerado um valor randmico de zero a 2, que
ser usado para definir qual meteoro ser criado, depois ser definido um valor randmico
para saber em qual altura ser criado o meteoro.
Em seguida chamado o mtodo para remover o meteoro criado.
-
7/30/2019 Curso de Android_Jogos
119/127
A classe MoverMeteoroRunnable ir mover e aumentar a margem direta do meteoro para
movimenta-lo pela tela. Quando chegar ao final da tela, o meteoro ser destrudo.
-
7/30/2019 Curso de Android_Jogos
120/127
A classe MeteoroRunnable servir como um loop infinito para criar os meteoros a cada 1,5
segundos. Caso o jogo tenha sido finalizado, ser encerrado o loop para parar a criao de
meteoros.
Por fim, iremos criar as classes para controlar os eventos do jogo. As classes que iremos
mencionar neste tpico pertencem ao pacote principal do jogo (br.com.curso.guerraespacial).
-
7/30/2019 Curso de Android_Jogos
121/127
Na classe Nave criamos um mtodo para movimentar a nave para cima ou para baixo.
-
7/30/2019 Curso de Android_Jogos
122/127
-
7/30/2019 Curso de Android_Jogos
123/127
A classe Colisao servir para validar, a cada movimento de um objeto dinmico, se um objeto
dinmico colidiu com outro. Se a nave colidiu com um meteoro, o meteoro ser destrudo e
ser removido 1 da vida. Se um tiro colidiu com um meteoro, ambos sero destrudos e ser
adicionado 1 ao ponto.
-
7/30/2019 Curso de Android_Jogos
124/127
A classe GuerraEspacialActivity o Activity de nosso projeto, onde ocorrer o jogo. Nesta
classe foi tratado os eventos dos botes de movimentar a nave, de atirar e de iniciar o jogo.
No mtodo onDestroy() da Activity, ser finalizado o jogo para no ficar consumindo memriado dispositivo.
-
7/30/2019 Curso de Android_Jogos
125/127
Captulo 13 Publicando seus Aplicativos e Jogos
Para finalizar este curso, voc ir aprender agora como publicar seus aplicativos e jogos para
outras pessoas e como ganhar dinheiro com eles.
Google Play o antigo Android Market
Site oficial:https://play.google.com/store
O Google Play permite aos desenvolvedores publicar e distribuir seus aplicativos diretamente
para os usurios de celulares e tablets Android de forma muito fcil. O Google Play aberto a
todos os desenvolvedores de aplicativos Android. Uma vez registrados, os desenvolvedores
tm o controle completo sobre quando e como tornar suas aplicaes disponveis para os
usurios.
Os desenvolvedores podem facilmente gerenciar o seu portflio de aplicativos, ver
informaes sobre downloads, classificao e comentrios. Os desenvolvedores tambm
podem publicar atualizaes e novas verses de seus aplicativos.
https://play.google.com/storehttps://play.google.com/storehttps://play.google.com/storehttps://play.google.com/store -
7/30/2019 Curso de Android_Jogos
126/127
Para se registrar, basta ir ao site de registro do Google Play:
https://play.google.com/apps/publish/signup
Antes de publicar um software no Google Play, voc deve fazer trs coisas:
Criar um perfil de desenvolvedor; Concordar com o Contrato de Distribuio do Desenvolvedor; Pagar uma taxa de registro (U$ 25,00) com carto de crdito (usando o Google
Checkout).
H duas formas de monetizar seus aplicativos e jogos Android: vendendo seu aplicativo ou
parte do seu contedo.
Voc pode publicar seu aplicativo ou jogo no Google Play para os usurios fazerem download
de graa, ou pode cobrar um valor fixo para cada usurio.
Cobrando um valor, o usurio s poder fazer o download de seu aplicativo ou jogo se pagar o
valor estipulado por voc. O usurio ir pagar a Google que ir repassar este valor a voc. Os
detalhes da negociao com o Google esto no Contrato de Distribuio do Desenvolvedor.
A Google tambm oferece o Google Play In-app Billing, que um service do Google Play que
lhe permite vender contedo digital em suas aplicaes. Voc pode usar o servio para vender
uma ampla gama de contedos, incluindo contedo para download, tais como arquivos de
mdia ou fotos e contedo virtual.
https://play.google.com/apps/publish/signuphttps://play.google.com/apps/publish/signuphttps://play.google.com/apps/publish/signup -
7/30/2019 Curso de Android_Jogos
127/127
Quando voc usa este servio de faturamento para vender um item, o Google lida com todos
os detalhes de check-out para que nunca a sua aplicao tem que processar diretamente todas
as transaes financeiras. Google Play usa o servio de check-out mesmo que usado para
compras de aplicativos, para que seus usurios possam experimentar um fluxo consistente de
compra familiar.
Espero que voc tenha gostado do curso e tenha aproveitado todo seu contedo. Refaa todos
os exerccios e depois faa a prova para adquirir seu certificado de concluso do curso. Me d
um feedback se gostou ou no do curso, crticas e sugestes.
At mais!