Upload
inael-rodrigues
View
154
Download
1
Embed Size (px)
DESCRIPTION
Introductory course of development for mobile devices - Android. Course sponsored and organized by Google Developers Group of Goiás(GDG) http://go.gtugs.org/
Citation preview
AgendaConceitos 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õespublic 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.