SlideShare una empresa de Scribd logo
1 de 42
Dê seus primeiros passos no
Desenvolvimento com Android
Agenda
Introdução
Conceitos
Estrutura do projeto
Activity
Intent
Interface gráfica
Como publicar sua App
Demonstração
Perguntas e Respostas
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
Conceitos
Activity
Activity similar a Jframe do Swing, representa uma tela
da aplicação
android.app.Activity e androd.view.View
Metodo setContentView(view)
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.
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.
Conceitos
Carregar XML
public class Conceitos extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conceitos);
}
}
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>
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);
}
}
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);
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
ESTRUTURA DO PROJETO
Estrutura do Projeto
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)
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..
ACTIVITY
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
Activity
Ciclo de Vida
Activity
Ciclo de Vida
Activity
Exemplo do Ciclo de Vida
public class FrameLayout extends Activity {
private final String TAG = "FRAME_LAYOUT";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_frame_layout);
Log.i(TAG, "onCreate() chamado.");
}
@Override
protected void onStart() {
super.onStart();
Log.i(TAG, "onStart() chamado.");
}
Activity
Exemplo do Ciclo de Vida
@Override
protected void onRestart() {
super.onRestart();
Log.i(TAG, "onRestart() chamado.");
}
@Override
protected void onResume() {
super.onResume();
Log.i(TAG, "onResume() chamado.");
}
@Override
protected void onPause() {
super.onPause();
Log.i(TAG, "onPause() chamado.");
}
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.");
}
}
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);
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);
}
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);
}
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
INTENT
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();
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);
INTERFACE GRÁFICA
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).
Interface Gráfica
Principais Layouts
FrameLayout
LinearLayout
RelativeLayout
List View
Grid View
Interface Gráfica
FrameLayout
Utilizado quando a tela tem apenas um componente que
pode preencher a tela inteira.
Interface Gráfica
LinearLayout
Organiza seus componentes em uma única coluna ou
uma única linha podendo ter orientação Vertical ou
Horizontal.
Interface Gráfica
RelativeLayout
Permite posicionar os componentes ao lado, abaixo ou
acima de outro componente já existente.
Interface Gráfica
List View
Mostra uma lista de itens. Os itens são automaticamente
inseridos na lista usando um Adapter.
Interface Gráfica
List View
Mostra uma grade de itens. Os itens são automaticamente
inseridos na grade usando um ListAdapter.
PUBLICAR SUA APP
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
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
Desenvolvimento Android
Por onde começar?
Android StudioAndroid SDK
Perguntas e Respostas
?

Más contenido relacionado

Similar a Dê seus primeiros passos no desenvolvimento com Android

Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaMessias Batista
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidMessias Batista
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Elmano Cavalcanti
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CERonildo Oliveira
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoLuiz Carvalho
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao androidPaulo Remoli
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, ActivityArthur Emanuel
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...Adriel Café
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1Lucas Aquiles
 

Similar a Dê seus primeiros passos no desenvolvimento com Android (20)

Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Android
AndroidAndroid
Android
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
Desenvolvimento de Aplicações para Dispositivos Móveis - Android Studio - Par...
 
Minicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CEMinicurso de Desenvolvimento Android - Iguatu - CE
Minicurso de Desenvolvimento Android - Iguatu - CE
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android Básico
 
Pdm -final
Pdm  -finalPdm  -final
Pdm -final
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Apostilaandroidfatecnormal
ApostilaandroidfatecnormalApostilaandroidfatecnormal
Apostilaandroidfatecnormal
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Curso Básico Android - Aula 02
Curso Básico Android - Aula 02Curso Básico Android - Aula 02
Curso Básico Android - Aula 02
 
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
FLISOL 2012 - Palestra "Introdução ao Desenvolvimento de Aplicações para o Si...
 
google maps api - v1
 google maps api - v1 google maps api - v1
google maps api - v1
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 

Dê seus primeiros passos no desenvolvimento com Android

  • 1. Dê seus primeiros passos no Desenvolvimento com Android
  • 2. Agenda Introdução Conceitos Estrutura do projeto Activity Intent Interface gráfica Como publicar sua App Demonstração Perguntas e Respostas
  • 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
  • 20. Activity Exemplo do Ciclo de Vida public class FrameLayout extends Activity { private final String TAG = "FRAME_LAYOUT"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_frame_layout); Log.i(TAG, "onCreate() chamado."); } @Override protected void onStart() { super.onStart(); Log.i(TAG, "onStart() chamado."); }
  • 21. Activity Exemplo do Ciclo de Vida @Override protected void onRestart() { super.onRestart(); Log.i(TAG, "onRestart() chamado."); } @Override protected void onResume() { super.onResume(); Log.i(TAG, "onResume() chamado."); } @Override protected void onPause() { super.onPause(); Log.i(TAG, "onPause() chamado."); }
  • 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).
  • 33. Interface Gráfica FrameLayout Utilizado quando a tela tem apenas um componente que pode preencher a tela inteira.
  • 34. Interface Gráfica LinearLayout Organiza seus componentes em uma única coluna ou uma única linha podendo ter orientação Vertical ou Horizontal.
  • 35. Interface Gráfica RelativeLayout Permite posicionar os componentes ao lado, abaixo ou acima de outro componente já existente.
  • 36. Interface Gráfica List View Mostra uma lista de itens. Os itens são automaticamente inseridos na lista usando um Adapter.
  • 37. Interface Gráfica List View Mostra uma grade de itens. Os itens são automaticamente inseridos na grade usando um ListAdapter.
  • 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
  • 41. Desenvolvimento Android Por onde começar? Android StudioAndroid SDK