O documento fornece uma introdução ao desenvolvimento de aplicativos para Android, abordando conceitos como Activity, Intents, layouts e publicação de aplicativos na Google Play Store. Ele também inclui uma demonstração ao vivo.
3. Introdução
Android
Plataforma de desenvolvimento de aplicativos moveis
OHA
Grupo de líderes que compartilham esta visão para
mudar a experiência móvel para os consumidores.
SO Linux
Kernel 2.6
Maquina Virtual Dalvik
Maquina virtual otimizada para dispositivos moveis
4. Conceitos
Activity
Activity similar a Jframe do Swing, representa uma tela
da aplicação
android.app.Activity e androd.view.View
Metodo setContentView(view)
5. Conceitos
Classe R
Constantes que facilitam acesso aos recursos do projeto
Graças a classe R que ao inflarmos um layout, usamos
a referencia R.layout.main ou para pegarmos uma
imagem utilizamos R.drawable.ic_louncher.
Para cada arquivos adicionado é cria uma constante
desse objeto na classe R.
6. Conceitos
AndroidManifest.xml
Apresenta informações essenciais sobre o aplicativo
para o sistema Android.
Algumas funcionalidades:
Ele descreve os componentes da aplicação - activities, services,
broadcast receivers e content providers que a aplicação é
composto;
Ele declara as permissões do aplicativo deve ter para acessar
partes protegidas da API e interagir com outras aplicações;
Ele declara o nível mínimo da API Android que a aplicação
requer.
7. Conceitos
Carregar XML
public class Conceitos extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conceitos);
}
}
8. Conceitos
Criação de uma interface gráfica com XML
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Conceitos" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
9. Conceitos
Criação de uma interface gráfica com API
public class Conceitos extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView view = new TextView(this);
view.setText("Exemplo de Texto no Android");
setContentView(view);
}
}
10. Conceitos
Acesso a elementos da tela (findViewById())
Ao criar uma tela usando um arquivo XML de Layout,
surge a necessidade de recuperar os objetos definidos
no arquivo dentro do código-fonte da aplicação.
EditText text = (EditText) findViewById(R.id.ed_conceitos);
String digitado = text.getText().toString();
Log.i("EXEMPLO", "O texto digitado foi " + digitado);
11. Conceitos
Log Cat
O log do sistema Android fornece um mecanismo para
coletar e visualizar a saída de depuração do sistema.
Tipos de Log
Verbose
Debug
Info
Warn
Error
14. Estrutura do Projeto
src
É onde fica o código fonte da nossa aplicação.(source)
gen
Generated source folder(Classe R)
assets
Local destinado a guardar arquivos.(Geralmente
documentação do sistema)
15. Estrutura do Projeto
bin
Local onde é gerado o arquivo compilado(.apk)
libs
Local onde deve ficar as bibliotecas de terceiros
res
Pasta de resources da aplicação, aqui ficaram arquivos
de layout, imagens, XML de configuração, XML com
strings internacionalizáveis, raw files, sons, etc..
17. Uma Activity é um componente do aplicativo que
fornece uma tela com a qual os usuários podem
interagir, a fim de fazer algo, como discar o telefone,
tire uma foto, envie um e-mail, ou visualizar um mapa.
Uma aplicação consiste geralmente de múltiplas
Activity que são fracamente ligados uns aos outros.
Activity
22. Activity
Exemplo do Ciclo de Vida
@Override
protected void onStop() {
super.onStop();
Log.i(TAG, "onStop() chamado.");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.i(TAG, "onDestroy() chamado.");
}
}
23. Activity
Navegação entre telas
startActivity(intent) irá iniciar a próxima tela sem qualquer vinculo.
startActivityForResult(intent, codigo) retorna uma informação
para a Activity que a chamou.
Intent it = new Intent(Main.this, WebVieww.class);
startActivity(it);
private static final int CLIENTE = 1;
Intent it = new Intent(Main.this, WebVieww.class);
startActivityForResult(it, CLIENTE);
24. Activity
Passagem de parâmetros para a próxima tela
Passar parâmetros entre duas telas
Receber esses parâmetros na outra tela
Intent it = new Intent(Main.this, Parametros.class);
Bundle params = new Bundle();
params.putString("msg", "Olá GUJavaSC");
it.putExtras(params);
startActivity(it);
Intent it = getIntent();
if(it != null){
Bundle params = it.getExtras();
if(params != null){
String msg = params.getString("msg");
Log.i("EXEMPLO", "O parametro recebido é " + msg);
}
25. Outra forma de passar e receber parâmetros
Passar parametros para outra tela.
Receber parametros na outra tela
Activity
Intent it = new Intent(Main.this, Parametros.class);
it.putExtra("msg", "Olá GUJavaSC!");
startActivity(it);
Intent it = getIntent();
if(it != null){
String msg = it.getStringExtra("msg");
Log.i("EXEMPLO", "O parametro recebido é " + msg);
}
26. Encerrar uma Activity
finish()
finishActivity()
Na maioria dos casos, você não deve terminar
explicitamente uma atividade usando esses
métodos, o sistema Android gerencia a vida de
uma atividade.
Activity
28. Intent
Refere-se às intenções, operações a serem
realizadas.
Seu uso é mais significativo no lançamento de
activities.
Com Intents você pode enviar ou recuperar dados.
startActivity(intent);
getIntent();
29. Intent
Chamada de aplicações nativas
Abrir o browser
Simular uma chamada
Uri uri = Uri.parse("http://www.gujavasc.org");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);
String url = "tel:99999999";
Intent it = new Intent(Intent.ACTION_CALL, Uri.parse(url));
startActivity(it);
31. Interface Gráfica
Gerenciadores de Layout
Orientam o posicionamento dos componentes visuais na
tela.
Fazer um componente preencher toda a tela.
Organizar os componentes na horizontal ou vertical;
Posicionar um componente relativo a outro (abaixo, acima ou ao
lado de um componente já existente).
39. Publicar sua App
Registre-se em uma conta Google Play.
Acesse o Google Play
https://play.google.com/apps/publish/
Informe seu dados de identificação. (nome, e-mail...)
Leia e aceite os termos (Developer Distribution
Agreement)
Pague uma taxa de registro de $25
40. Publicar sua App
Se você for vender sua App, registre-se no
Google Wallet Merchant.
Acesse sua conta de desenvolvedor
https://play.google.com/apps/publish/
Abra o Relatórios Financeiros
Click em Configure uma conta do comerciante agora