Tamo ai na Atividade!
Para criar aplicativos, é preciso atividade!
Activity
"Uma coisa focada e única que o usuário pode fazer."
Ciclo de Vida
onCreate( ) → Ao criar, faça...
onStart( ) → Ao começar, faça...
onResume( ) → Ao prosseguir, faça...
onPause( ) → Ao pausar, faça...
onStop( ) → Ao parar, faça...
onDestroy( ) → Ao destruir, faça...
Contexto
"Eu uso crack para fazer programas!"
O Contexto (Context) faz toda diferença!
Context contexto = MinhaActivity.this;
Olá Mundo!
Criando o nosso primeiro aplicativo!
Olá Mundo!
Context contexto = MinhaActivity.this;
TextView mTextView = new TextView(contexto);
String hello = "Olá ";
String world = "Mundo!";
mTextView.setText(hello + world);
mTextView.setTextSize(50);
contexto.setContentView(mTextView);
Ciclo de Vida
Não chamar diretamente!
Sempre chamar da superclasse:
@Overrideprotected void onCreate(Bundle b){super.onCreate(b);
}
Recursos
De onde veio aquela tela branca?
Quem colocou aquele Hello World ali?
De onde veio aquele texto "Hello World"?
Dos recursos (res)!
Recursos
É onde guardamos imagens, animações e outros valores que podem variar de acordo com tamanho do dispositivo, densidade da tela, idioma do usuário e etc.
Values → Strings, Dimens, Integers
Layout → Telas em geral
Drawable → Imagens, .xml
A Classe R
União entre os Recursos e o código Java
Cria ids únicos para cada elemento dos recursos (inclusive para elementos dentro da tela);
É extremamente rigorosa com nome de arquivos;
Tem mania de sumir!
Broken Glass
Criando um aplicativo para fazer uso de recursos!
Broken Glass
MinhaActivity extends Activity implements OnClickListener{
protected void onCreate(Bundle b){
super.onCreate(b);
Context contexto = MinhaActivity.this;
setContentView(R.layout.meu_layout);
RelativeLayout mRelativeLayout = (RelativeLayout)
findViewById(R.id.meu_relative_layout);
mRelativeLayout.setOnClickListener(contexto);
} ...
Broken Glass
...
@Override
public void onClick(View v){
v.setBackgroundResource(R.drawable.broken_glass);
}
}
ClickListener
ClickListener é uma interface que cuida dos cliques na tela
Quando o usuário clica na tela, o sistema gerencia isso para nós e chama o método onClick() dentro do nosso código, e ai então tratamos do clique.
Não confundir com TouchListener!
Views
Elementos visuais
A TextView é uma View, o RelativeLayout é uma View
O que mais é View?
Praticamente tudo que se pode ver!
Views possuem Listeners!
EditText
Campo de Texto
View para entrada de dados do usuário
Possui versões otimizadas para nomes, senhas, telefones, números naturais, inteiros e decimais, etc.
Buttons
Botões
View específica para tratamento de clique, clique longo, toque e outros eventos.
TextView
Mostrando textos na tela
Como mostrar o texto de uma variável do tipo int?
int i = 0;
String a = String.valueOf(i);
mTextView.setText(a);
mTextView.setText(i + "");
Calculadora
Criando uma app para receber valores do usuário, tratá-los e devolvê-los!
Calculadora
TextView mTextView = (TextView)
findViewById(R.id.text_view1);
EditText mEditText1 = (EditText)
findViewById(R.id.edit_text1);
Button mButton1 = (Button)
findViewById(R.id.button1);
mButton1.setOnClickListener(contexto);
Calculadora
Pegando valor da EditText:
String a = mEditText1.
getText().toString();
if(!a.equals("") {
int v1 = Integer.valueOf(a);
}
Definindo Ação do Botão:
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
somar();
break;
}
}
Calculadora
Implementem Subtração, Multiplicação e Divisão!