SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
GDG Goiás



 Android Bootcamp



                Inael Rodrigues
                    inael.rodrigues@gmail.co
                              @inaerodrigues
Agenda
Conceitos Básicos
Ciclo de Vida da Activity
Componentes
Menus e Dialogs
Layouts
Mão na massa
CONCEITOS BÁSICOS
Principais Classes
●   Activity: Classe que representa uma tela na aplicação.
●   Context: Contexto geral da execução da sua aplicação.
●   View: Componentes gráficos.
●   Intent: Evento gerado pelo sistema, uma “intenção”.
●   BroadcastReceiver: Classe que “reage” aos eventos.
●   Service: Classe para processamento em background.
●   Notification: Classe para efetuar notificações.
●   Content Provider: Classe que torna disponível dados
●   das aplicações para as outras aplicações do telefone.
●   Handler: Classe que auxilia no gerenciamento das
●   threads do sistema
CICLO DE VIDA DA ACTIVITY
Activity

• Classe responsável por exibição das telas da aplicação
• Implementação dos métodos de ciclo de vida
     • onCreate
     • onRestart
     • onResume
     • onPause
     • onStop
     • onDestroy
• Contém um ou mais recursos de Views
• Manipula os eventos de interação
Vamos Praticar




Criar uma Activity e instanciar um Toast e um Log para mostrar cada método do ciclo.
COMPONENTES
Conceitos Básicos
Imagens
•As imagens devem ser salvas na pasta:
    •seu_projeto/res/drawable


•Devem conter apenas letras
minúsculas e números.

•São exibidas geralmente utilizando
ImageButton e ImageView.

•Exemplo:
ImageView pomodoro = findViewById(R.id.pomoroImage);
pomodoro.setImageResource(R.drawable.greepomodoro);
Exibindo Textos
•É utilizado o TextView para exibição de textos.
•Possui fontes padrão do sistema.
•Permite customização de fontes:
•Colocar o arquito TTF na pasta /seu_projeto/assets/
fonts
•Depois indicar a fonte a ser utilizada.
•Exemplo:
TextView text = findViewById(R.id.timeTextView);
text.setTypeface(Typeface.createFromAsset(getAssets(),
“fonts/qualquerfont.ttf”);
Editando Textos

EditText editText = (EditText) findViewById(R.id.search);
editText.setOnEditorActionListener(new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent
event) {
      boolean handled = false;
      if (actionId == EditorInfo.IME_ACTION_SEND) {
          // Send the user message
          handled = true;
      }
      return handled;
    }
});
Botões
•Criado a partir das View's: Button e ImageButton
•Várias características podem ser customizadas:
   •Borda
   •Background
   •Estilo
   •Efeitos sonoros

•Possui diversos listeners:
   •OnClickListener
   •OnFocusChangeListener
   •OnLongClickListener
   •OnTouchListener
Eventos de Botões
public class MyActivity extends Activity {
  protected void onCreate(Bundle icicle) {
     super.onCreate(icicle);

        setContentView(R.layout.content_layout_id);

        final Button button = (Button) findViewById(R.id.button_id);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
              // Perform action on click
            }
        });
    }
}
Vamos Praticar




Intanciar os componentes básicos: TextView, Button, EditText.
Dialogs e Menus
Dialogs e Menus
●   Podem ser criados diversos tipos de dialogs:
    ○   AlertDialog
    ○   ProgressDialog
    ○   DatePickerDialog
    ○   TimePickerDialog


●   Cria-se o Dialog chamando o método showDialog(int)
    O parâmetro indica um id de Dialog a ser criada


●   É chamado então o método onCreateDialog(int)
Esse é o metodo que você deve programar.
Dialog e Menus
Outras View
•SurfaceView
•AnalogClock
•AutoCompleteTextView
•CheckBox
•DatePicker
•EditText
•ProgressBar
•RadioButton
•RatingBar
•TimePicker
•ToggleButton
Vamos Praticar novamente




Mostrar como funciona a criação de um menu usando XML e código Java. Colocar o Menu para
abrir um Dialog.
Layouts
FrameLayout
Mão na massa
Parte da tela de um aplicativo de agenda.

1.Implementar Tela de Cadastro de Contato
 com Nome, Sobrenome, Telefone.
2.Implementar Menu para adicionar contato.

Mais conteúdo relacionado

Destaque

革新的ネットワークサービス中間課題
革新的ネットワークサービス中間課題革新的ネットワークサービス中間課題
革新的ネットワークサービス中間課題Rindou Katsura
 
1040 tys_kirsal_yerlesmeler
1040  tys_kirsal_yerlesmeler1040  tys_kirsal_yerlesmeler
1040 tys_kirsal_yerlesmelerAli Azad Özkul
 
проект мы артисты!
проект мы артисты!проект мы артисты!
проект мы артисты!alni-o-p
 
Android bootcamp 06-01-2012 Part 2
Android bootcamp 06-01-2012 Part 2Android bootcamp 06-01-2012 Part 2
Android bootcamp 06-01-2012 Part 2Inael Rodrigues
 
革新的ネットワークサービス革新 最終発表
革新的ネットワークサービス革新 最終発表革新的ネットワークサービス革新 最終発表
革新的ネットワークサービス革新 最終発表Rindou Katsura
 
Arc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumaniArc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumaniAli Azad Özkul
 
SINYAL HORMON FARMASI UII
SINYAL HORMON FARMASI UIISINYAL HORMON FARMASI UII
SINYAL HORMON FARMASI UIImaulanaarya75
 
Presentasi e filing 070220012
Presentasi e filing 070220012Presentasi e filing 070220012
Presentasi e filing 070220012Liesda Ismayani
 

Destaque (17)

革新的ネットワークサービス中間課題
革新的ネットワークサービス中間課題革新的ネットワークサービス中間課題
革新的ネットワークサービス中間課題
 
File2
File2File2
File2
 
1040 tys_kirsal_yerlesmeler
1040  tys_kirsal_yerlesmeler1040  tys_kirsal_yerlesmeler
1040 tys_kirsal_yerlesmeler
 
12 13-lecture
12 13-lecture12 13-lecture
12 13-lecture
 
проект мы артисты!
проект мы артисты!проект мы артисты!
проект мы артисты!
 
L'home és la memòria
L'home és la memòriaL'home és la memòria
L'home és la memòria
 
Android bootcamp 06-01-2012 Part 2
Android bootcamp 06-01-2012 Part 2Android bootcamp 06-01-2012 Part 2
Android bootcamp 06-01-2012 Part 2
 
革新的ネットワークサービス革新 最終発表
革新的ネットワークサービス革新 最終発表革新的ネットワークサービス革新 最終発表
革新的ネットワークサービス革新 最終発表
 
Oop
OopOop
Oop
 
Multiple regression
Multiple regressionMultiple regression
Multiple regression
 
Chapter8 induction
Chapter8   inductionChapter8   induction
Chapter8 induction
 
Arc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumaniArc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumani
 
SINYAL HORMON FARMASI UII
SINYAL HORMON FARMASI UIISINYAL HORMON FARMASI UII
SINYAL HORMON FARMASI UII
 
scenario-based learning
scenario-based learningscenario-based learning
scenario-based learning
 
Russian forces in Ukraine
Russian forces in UkraineRussian forces in Ukraine
Russian forces in Ukraine
 
Presentasi e filing 070220012
Presentasi e filing 070220012Presentasi e filing 070220012
Presentasi e filing 070220012
 
Nutricao esportiva-teoria-e-pratica
Nutricao esportiva-teoria-e-praticaNutricao esportiva-teoria-e-pratica
Nutricao esportiva-teoria-e-pratica
 

Semelhante a Android Bootcamp - Mão na massa

2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidTiago Bencardino
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaGPrimola
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma AndroidÉdipo Souza
 
Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II Verônica Veiga
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Rodrigo Rocha
 
Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplosCalvin Rodrigues
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Desenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos AndroidDesenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos AndroidNelson Glauber Leal
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Curso Android 01: Introdução
Curso Android 01: IntroduçãoCurso Android 01: Introdução
Curso Android 01: IntroduçãoAline Borges
 
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Felipe Silveira
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, ActivityArthur Emanuel
 
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
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_onRoberson Alves
 

Semelhante a Android Bootcamp - Mão na massa (20)

2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Seminário sd android_exemplos
Seminário sd android_exemplosSeminário sd android_exemplos
Seminário sd android_exemplos
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Desenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos AndroidDesenvolvimento Moderno de aplicativos Android
Desenvolvimento Moderno de aplicativos Android
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Curso Android 01: Introdução
Curso Android 01: IntroduçãoCurso Android 01: Introdução
Curso Android 01: Introdução
 
05 - C# - componentes visuais v1.0
05 - C# - componentes visuais v1.005 - C# - componentes visuais v1.0
05 - C# - componentes visuais v1.0
 
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
 
Aula01 - introdução, Activity
Aula01 - introdução,  ActivityAula01 - introdução,  Activity
Aula01 - introdução, Activity
 
Revista programar 21
Revista programar 21Revista programar 21
Revista programar 21
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
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...
 
Aula02 android hands_on
Aula02 android hands_onAula02 android hands_on
Aula02 android hands_on
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 

Mais de Inael Rodrigues

Artigo Monitoramento de Pastagem
Artigo Monitoramento de PastagemArtigo Monitoramento de Pastagem
Artigo Monitoramento de PastagemInael Rodrigues
 
Arquiteturas de sistemas reais
Arquiteturas de sistemas reaisArquiteturas de sistemas reais
Arquiteturas de sistemas reaisInael Rodrigues
 
Codigo limpo: Nomes Significativos Cap 2
Codigo limpo:  Nomes Significativos Cap 2Codigo limpo:  Nomes Significativos Cap 2
Codigo limpo: Nomes Significativos Cap 2Inael Rodrigues
 
Código limpo: Comentários
Código limpo:   ComentáriosCódigo limpo:   Comentários
Código limpo: ComentáriosInael Rodrigues
 
Código limpo: Funções Capítulo 3
Código limpo: Funções  Capítulo 3Código limpo: Funções  Capítulo 3
Código limpo: Funções Capítulo 3Inael Rodrigues
 
Código Limpo: Testes de Unidade Capítulo 09
Código Limpo: Testes de Unidade Capítulo 09 Código Limpo: Testes de Unidade Capítulo 09
Código Limpo: Testes de Unidade Capítulo 09 Inael Rodrigues
 
Código Limpo: Objetos e Estruturas de Dados cap6
Código Limpo: Objetos e Estruturas de Dados cap6Código Limpo: Objetos e Estruturas de Dados cap6
Código Limpo: Objetos e Estruturas de Dados cap6Inael Rodrigues
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Inael Rodrigues
 
Livro Código limpo: Classes
Livro Código limpo:  ClassesLivro Código limpo:  Classes
Livro Código limpo: ClassesInael Rodrigues
 
Teste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiTeste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiInael Rodrigues
 
TDC 2012: Trilha - Android University Back end Android
TDC 2012: Trilha - Android University Back end Android TDC 2012: Trilha - Android University Back end Android
TDC 2012: Trilha - Android University Back end Android Inael Rodrigues
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityInael Rodrigues
 
Ferramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento ÁgilFerramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento ÁgilInael Rodrigues
 

Mais de Inael Rodrigues (17)

Artigo Monitoramento de Pastagem
Artigo Monitoramento de PastagemArtigo Monitoramento de Pastagem
Artigo Monitoramento de Pastagem
 
Map Reduce
Map ReduceMap Reduce
Map Reduce
 
Arquiteturas de sistemas reais
Arquiteturas de sistemas reaisArquiteturas de sistemas reais
Arquiteturas de sistemas reais
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Codigo limpo: Nomes Significativos Cap 2
Codigo limpo:  Nomes Significativos Cap 2Codigo limpo:  Nomes Significativos Cap 2
Codigo limpo: Nomes Significativos Cap 2
 
Código limpo: Limites
Código limpo: LimitesCódigo limpo: Limites
Código limpo: Limites
 
Código limpo: Comentários
Código limpo:   ComentáriosCódigo limpo:   Comentários
Código limpo: Comentários
 
Código limpo: Funções Capítulo 3
Código limpo: Funções  Capítulo 3Código limpo: Funções  Capítulo 3
Código limpo: Funções Capítulo 3
 
Código Limpo: Testes de Unidade Capítulo 09
Código Limpo: Testes de Unidade Capítulo 09 Código Limpo: Testes de Unidade Capítulo 09
Código Limpo: Testes de Unidade Capítulo 09
 
Código Limpo: Objetos e Estruturas de Dados cap6
Código Limpo: Objetos e Estruturas de Dados cap6Código Limpo: Objetos e Estruturas de Dados cap6
Código Limpo: Objetos e Estruturas de Dados cap6
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7
 
Livro Código limpo: Classes
Livro Código limpo:  ClassesLivro Código limpo:  Classes
Livro Código limpo: Classes
 
Paa algoritmos gulosos
Paa  algoritmos gulososPaa  algoritmos gulosos
Paa algoritmos gulosos
 
Teste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta JabutiTeste Estrutural usando a ferramenta Jabuti
Teste Estrutural usando a ferramenta Jabuti
 
TDC 2012: Trilha - Android University Back end Android
TDC 2012: Trilha - Android University Back end Android TDC 2012: Trilha - Android University Back end Android
TDC 2012: Trilha - Android University Back end Android
 
TDC 2012 Trilha – Android University
TDC 2012 Trilha – Android UniversityTDC 2012 Trilha – Android University
TDC 2012 Trilha – Android University
 
Ferramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento ÁgilFerramentas para Ambiente de Desenvolvimento Ágil
Ferramentas para Ambiente de Desenvolvimento Ágil
 

Android Bootcamp - Mão na massa

  • 1. GDG Goiás Android Bootcamp Inael Rodrigues inael.rodrigues@gmail.co @inaerodrigues
  • 2. Agenda Conceitos Básicos Ciclo de Vida da Activity Componentes Menus e Dialogs Layouts Mão na massa
  • 4. Principais Classes ● Activity: Classe que representa uma tela na aplicação. ● Context: Contexto geral da execução da sua aplicação. ● View: Componentes gráficos. ● Intent: Evento gerado pelo sistema, uma “intenção”. ● BroadcastReceiver: Classe que “reage” aos eventos. ● Service: Classe para processamento em background. ● Notification: Classe para efetuar notificações. ● Content Provider: Classe que torna disponível dados ● das aplicações para as outras aplicações do telefone. ● Handler: Classe que auxilia no gerenciamento das ● threads do sistema
  • 5. CICLO DE VIDA DA ACTIVITY
  • 6. Activity • Classe responsável por exibição das telas da aplicação • Implementação dos métodos de ciclo de vida • onCreate • onRestart • onResume • onPause • onStop • onDestroy • Contém um ou mais recursos de Views • Manipula os eventos de interação
  • 7.
  • 8. Vamos Praticar Criar uma Activity e instanciar um Toast e um Log para mostrar cada método do ciclo.
  • 11. Imagens •As imagens devem ser salvas na pasta: •seu_projeto/res/drawable •Devem conter apenas letras minúsculas e números. •São exibidas geralmente utilizando ImageButton e ImageView. •Exemplo: ImageView pomodoro = findViewById(R.id.pomoroImage); pomodoro.setImageResource(R.drawable.greepomodoro);
  • 12. Exibindo Textos •É utilizado o TextView para exibição de textos. •Possui fontes padrão do sistema. •Permite customização de fontes: •Colocar o arquito TTF na pasta /seu_projeto/assets/ fonts •Depois indicar a fonte a ser utilizada. •Exemplo: TextView text = findViewById(R.id.timeTextView); text.setTypeface(Typeface.createFromAsset(getAssets(), “fonts/qualquerfont.ttf”);
  • 13. Editando Textos EditText editText = (EditText) findViewById(R.id.search); editText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { boolean handled = false; if (actionId == EditorInfo.IME_ACTION_SEND) { // Send the user message handled = true; } return handled; } });
  • 14. Botões •Criado a partir das View's: Button e ImageButton •Várias características podem ser customizadas: •Borda •Background •Estilo •Efeitos sonoros •Possui diversos listeners: •OnClickListener •OnFocusChangeListener •OnLongClickListener •OnTouchListener
  • 15. Eventos de Botões public class MyActivity extends Activity { protected void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.content_layout_id); final Button button = (Button) findViewById(R.id.button_id); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // Perform action on click } }); } }
  • 16. Vamos Praticar Intanciar os componentes básicos: TextView, Button, EditText.
  • 18. Dialogs e Menus ● Podem ser criados diversos tipos de dialogs: ○ AlertDialog ○ ProgressDialog ○ DatePickerDialog ○ TimePickerDialog ● Cria-se o Dialog chamando o método showDialog(int) O parâmetro indica um id de Dialog a ser criada ● É chamado então o método onCreateDialog(int) Esse é o metodo que você deve programar.
  • 20.
  • 22. Vamos Praticar novamente Mostrar como funciona a criação de um menu usando XML e código Java. Colocar o Menu para abrir um Dialog.
  • 24.
  • 26.
  • 27.
  • 28.
  • 29. Mão na massa Parte da tela de um aplicativo de agenda. 1.Implementar Tela de Cadastro de Contato com Nome, Sobrenome, Telefone. 2.Implementar Menu para adicionar contato.