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.

Android bootcamp 06-01-2012 Part 1

  • 1.
    GDG Goiás AndroidBootcamp Inael Rodrigues inael.rodrigues@gmail.co @inaerodrigues
  • 2.
    Agenda Conceitos Básicos Ciclo deVida da Activity Componentes Menus e Dialogs Layouts Mão na massa
  • 3.
  • 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 VIDADA ACTIVITY
  • 6.
    Activity • Classe responsávelpor 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
  • 8.
    Vamos Praticar Criar umaActivity e instanciar um Toast e um Log para mostrar cada método do ciclo.
  • 9.
  • 10.
  • 11.
    Imagens •As imagens devemser 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 •É utilizadoo 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 partirdas 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 publicclass 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 oscomponentes básicos: TextView, Button, EditText.
  • 17.
  • 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.
  • 19.
  • 21.
  • 22.
    Vamos Praticar novamente Mostrarcomo funciona a criação de um menu usando XML e código Java. Colocar o Menu para abrir um Dialog.
  • 23.
  • 25.
  • 29.
    Mão na massa Parteda tela de um aplicativo de agenda. 1.Implementar Tela de Cadastro de Contato com Nome, Sobrenome, Telefone. 2.Implementar Menu para adicionar contato.