6. Alguns números
• 100 milhões de dispositivos com Android.
• ~ 400 mil novas ativações de dispositivos com
Android por dia.
• 200 mil aplicações no Android Market.
• Mais de 320 dispositivos que utilizam Android.
• 4.5 bilhões de aplicações baixadas do Android
Market.
Números divulgados no Google IO 2011 - http://www.google.com/events/io/2011/index-live.html
6
12. Componentes de uma
aplicação no Android
• Activity
• Intent e Intent Filters
• Services
• Broadcast Receivers
• Content Provider
12
13. Activity
• Classe define qual a tela (View) irá
representar e controla os eventos dela.
• Precisa ser uma classe filha de
android.app.Activity.
• Deve implementar o método public
void onCreate(Bundle
savedInstanceState) {...} que
inicializa os elementos da tela.
13
14. Hello World++
• Criando um projeto Android no Eclipse:
• No menu Arquivo selecione Novo → Outro → Android → Android
Project.
• Defina os seguintes campos:
• Project Name: Sestinfo-HelloWorldPlus
• Informe onde deve ser salvo o projeto.
• Build Target: Google APIs - 2.1-update Level 7 ou Android 2.1-
update1
• Application Name: SESTINFO 2011 - HelloWorldPlus
• Package name: br.metodista.sestinfo.helloworld
• Create Activity: HelloWorld
• Clique em Finalizar
14
15. Hello World++
• Estrutura do Projeto
• src - Código fonte do projeto.
• gen - R.java - constantes que permitem acessar
os elementos da tela.
• res - Recursos
• drawable... - imagens de acordo com o
tamanho da tela.
• layout - arquivos xml com o layout da tela.
• values - arquivo xml com todos os textos.
• AndroidManifest.xml - configuração do
projeto.
15
19. Hello World++
• Edite o arquivo values/strings.xml com os
seguintes valores:
• hello - Mini-cursonDesenvolvimento na
plataforma Google Android
• appname - SestInfo 2011 - HelloWorldPlus
• mostrar - Mostrar mensagem...
• msg - Bem vindo à SESTINFO 2011
• Adicione a imagem logo_portal.jpg na pasta
drawable-mdpi.
19
21. Hello World++
• Adicionar a ação para o botão Mostrar mensagem...
package br.metodista.sestinfo.helloworld;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class HelloWorld extends Activity {
private Button mostrar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mostrar = (Button) findViewById(R.id.btnVer);
mostrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getBaseContext(), R.string.msg, Toast.LENGTH_LONG).show();
}
});
}
}
21
22. Hello World++
• Para executar a aplicação, clique com o botão direito sobre
o nome do projeto e escolha o item Run As →
Android Application.
22
23. Intent e Intent Filter
• Intent é utilizando para enviar uma solicitação
para o Android executar como por exemplo:
• Fazer uma ligação
• Enviar um SMS
• Abrir o browser
• Solicita a abertura de outra aplicação
• Intent Filter é utilizado para mapear a ação de um
Intent.
23
24. View
• A View é a classe que representa os
elementos da tela, onde cada elemento da
tela é uma subclasse da classe View.
• Todos os elementos da tela são escritos na
forma de XML, exemplo:
<ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:minHeight="80dip"
android:minWidth="80dip" android:clickable="true"
android:visibility="visible" android:background="#00000000"
android:paddingLeft="20dip" android:paddingTop="20dip"
android:paddingRight="20dip" android:paddingBottom="20dip">
</ImageView>
24
27. Service
• A classe Service é utilizada para criar um serviço
que é executado em background.
• O processamento e gerenciamento de memória de
uma Service é controlada pelo sistema operacional.
• Processos com tempo e duração indeterminado.
• Processos que irão demorar mais que 10 segundos.
• Como por exemplo: download e player de audio e
video.
27
29. Usando o SD Card
• Após iniciar o emulador, entre na visualização
Window → Show View → Android → File
Explorer.
Pegar um arquivo Adicionar um arquivo
no dispositivo. no dispositivo.
29
30. Broadcast Receiver
• A classe BroadcastReceiver é utilizada para
executar as solicitações feitas pelos Intent.
• Ela também é executada em background
para não atrapalhar os usuário, podendo por
exemplo acionar uma Service.
• Não é recomendado abrir uma Activity ou
qualquer iteração com o usuário.
• Com o BroadcastReceiver podemos criar
uma aplicação que ao receber um SMS já
emite um aviso e apresenta ele na tela.
30
32. Enviar SMS via plugin
do Eclipse
• Utilizando o plugin do Eclipse é fácil enviar um SMS
ou fazer uma chamada telefônica para o emulador.
• Entre na visualização Window → Show View →
Android → Emulator Control, digite um
número de telefone qualquer, a mensagem SMS e
clique em Send.
32
33. Content Provider
• A classe ContentProvider permite
compartilhar informações para que qualquer
outra aplicação possa utilizá-las.
• Por exemplo a aplicação do Facebook coloca
a foto dos seus contatos de acordo com a
foto que está no perfil do contato no
Facebook.
• Disponibilizar seus percursos com o GPS
para outra aplicação.
33
34. GPS e Mapas
• Global Positioning System (GPS) permite
você localizar a posição atual do seu
aparelho no Globo Terrestre.
• Google Maps permite você utilizar os mapas
disponibilizados pela Google para criação de
aplicações.
34
37. Mais recursos do
Android
• Banco de Dados (SQLite)
• HTTP
• Web Services
• Acelerômetro
• Multimídia video e câmera
• Efeitos de transição
• E muito mais
37
40. Publicando uma aplicação
no Android Market
• No site http://developer.android.com
• Acesse a opção Publish.
• Crie seu perfil de desenvolvedor.
• Pague a taxa de registro (US$25,00) com cartão
de credito.
• Aceite os termos de contrato da Google.
• Aplicações paga 70% para o desenvolvedor e 30%
para a Google.
40