Prof. Jhonatan Fernando
É uma classe gerenciadora de UI. É possível informar qual layout (arquivo xml) que será carregado para uma determinada activity. O método responsável por informar qual layout será carregado é setcontentview();
Ciclo de vida de um Activity
oncreate() É a primeira função a ser executada quando uma Activity é lançada. Geralmente é a responsável por carregar os layouts XML e outras operações de inicialização. É executada somente uma vez durante a vida útil da Activity. onstart() É chamada imediatamente após a oncreate() e também quando uma Activity que estava em background volta a ter foco. onresume() Assim como a onstart(), é chamada na inicialização da Activity (logo após a própria onstart()) e também quando uma Activity volta a ter foco. Qual a diferença entre as duas é que onstart() só é chamada quando a Activity não está mais visível na tela e volta a ter o foco, enquanto a onresume() sempre é chamado nas retomadas de foco. onpause() É a primeira função a ser invocada quando a Activity perde o foco (ou seja, uma outra Activity vem à frente).
onstop() Análoga à onpause(), só é chamada quando a Activity fica completamente encoberta por outra Activity (não é mais visível). ondestroy() A última função a ser executada. Depois dela, a Activity é considerada morta ou seja, não pode mais ser relançada. Se o usuário voltar a requisitar essa Activity, outro objeto será construído. onrestart() Chamada imediatamente antes da onstart(), quando uma Activity volta a ter o foco depois de estar em background.
O método setcontentview() recebe o layout que deverá ser carregado: setcontentview(r.layout.activity_ciclo_vida), onde o activity_ciclo_vida é o arquivo de layout criado. Após invocado o método acima é possível recuperar todos os controles definidos no layout. Para isso é utilizado o método findviewbyid, que recebe como parâmetro um id e retornar uma View que é a classe mais genérica dos controles. Então basta pegar o resultado converter para o controle desejado. Button btn = (Button) findviewbyid(r.id.button1); btn.settext("no de Cliques ");
São ações que ocorrem na interação do usuário com alguns componentes. Exemplo: Click de um botão; Ao pressionar uma tecla; Ao alterar um texto;
Para que um evento seja acionado e tratado é necessário que tenha três itens: A origem do evento Componente que recebeu uma determinada ação; O objeto do evento Objeto responsável por pegar as informações da origem e levar ao ouvinte; Ouvinte do evento Objeto que é notificado quando um evento ocorre;
Verificar qual é o tipo do Listener que o objeto implementa; Criar uma classe que implementa a interface correspondente; Invocar o método de para referenciar os listeners que cada componente possui;
Criando uma classe anônima; Button btn = (Button) findviewbyid(r.id.button1); btn.settext("no de Cliques "); btn.setonclicklistener(new OnClickListener() { @Override public void onclick(view arg0) { Toast msg = Toast.makeText(getBaseContext(), "O botão foi clicado 1",Toast.LENGTH_LONG); msg.show(); } });
A Activity deve implementar a interface OnClickListener A Activity deve possuir o método onclick. E deve ser informado para o button que a classe atual será notificada. public class CicloVidaActivity extends Activity implements OnClickListener public void onclick(view arg0) { Toast msg = Toast.makeText(getBaseContext(), "O botão foi clicado 1", Toast.LENGTH_LONG); msg.show(); } btn.setonclicklistener(this);
Segue a mesma ideia da 2ª opção porém terá uma classe exclusivamente para receber os eventos. Quando se utiliza esse conceito deve verificar como os controles da activity atual serão passados para a classe que recebe a notificação dos eventos.
Alguns métodos utilizados via código: setenabled: recebe um valor booleano e permite habilitar ou desabilitar o controle; sethint: permite definir um texto de ajuda para o usuário saber o que informar no controle. O texto só aparece se o conteúdo for vazio; settext: permite definir um conteúdo para o EditText. gettext().tostring(): permite recuperar o conteúdo do EditText e colocar em uma variável String; setvisibility: permite alterar a visibilidade do controle, pode receber 3 valores: View.VISIBLE coloca o controle visível; View.INVISIBLE - coloca o controle invisível mas mantém o espaço usado por ele na tela. View.GONE Coloca o controle invisível mas não mantém o espaço usado por ele na tela.
Implemenar uma aplicação Android que tenha: TextView Botão Sempre que o botão for clicado deverá ser atualizado o Text do TextView com o número de cliques já realizado.
Implemenar uma aplicação Android que tenha: 1 EditText 5 Botões Fazer com que cada botão altere uma propriedade do EditText.