Baixe o app para aproveitar ainda mais
Prévia do material em texto
Por dentro de uma Activity Prof. Milton Escóssia � Atividade, acao ou funcionalidade executada pelo usuario. � Representa uma tela da aplicação. � Define métodos chamados para responder a eventos de tela. � Controla o estado e eventos da tela. � Define a tela (GUI) a ser exibida. � Classe Android usada para criar Telas personalizadas. ◦ Toda activity de um projeto deve especializar essa classe. Activity MinhaActivity � Permite realizar tarefas como: ◦ Navegar entre telas, ◦ Passar parametros para outra tela, ◦ Receber dados de uma tela, ◦ etc. � Cada Activity de um projeto Android deve estardeclarado no arquivo “AndroidManifest.xml”. � Fornece um conjunto de metodos utilizados no gerenciamento de uma Activity, tais como: ◦ Object findViewById(int) ◦ setContentView(view) ◦ finish( ) ◦ etc. � Uma Activity é inicializada pelo método onCreate( ) ◦ Método obrigatório em uma Activity. ◦ Responsavel em tratar os eventos gerados pelo usuario. ◦ Contém as instruções para inicialização de recursos. ◦ Solicita a criação da tela com a chamada “setContentView( )” � O método finish( ) ◦ Encerra a execução da Activity. ◦ Elimina a activity da memória. ◦ Internamente faz chamada ao método onDestroy( ) do ciclo de vida da Activity. � Criar um projeto que apresente uma tela com um botão “Finalizar”. ◦ Ao clicar sobre o botão “Finalizar” a aplicação deve ser encerrada. � Se refe a emissao de mensagens para uma unidade de saida. � Utiliza-se os metodos estaticos da classe Log, do pacote “android.util” ◦ Esses metodos permitem emitir diversos tipos de mensagens de log. � O System.out.println( ) do Java corresponde ao Log do Android. � As mensagens podem ser emitidas segundo seu nivel de severidade: Nivel Sigla Cor Debug d azul Verbose v Preto Info i Verde Warn w Laranja Error e Vermelho � Ferramenta do Android para visualizacao de Log’s gerados por uma aplicacao. ◦ Corresponde a janela “Console” do Eclipse. � Gerencia todos os logs emitidos pelo Android � Passo 1: � Passo 2: � Tela: � Resultado: � Codigo: � Crie um projeto Android com 3 botões. ◦ O 1o botão: “Informacoes” - deve enviar uma mensagem do tipo “Info” ao LogCat. ◦ O 2o botão: “Alerta” - deve enviar uma mensagem do tipo “Warn” ao LogCat. ◦ O 3o botão: “Erro” - deve enviar uma mensagem do tipo “Error” ao LogCat. ◦ O 4o botão: “Depuracao” - deve enviar uma mensagem do tipo “Debug” ao LogCat. ◦ O 5o botão: “Verbose” - deve enviar uma mensagem do tipo “Verbose” ao LogCat. ◦ O 6o botão: “Fechar” deve encerrar a aplicacao. � Tela (Activity) Desejada: � Resultado desejado ao clicar na sequencia dos botoes: � Toda Activity possui inicio, meio e fim. � O conjunto de etapas executadas durante a “vida” de uma Activity e chamada de Ciclo de Vida da Activity. � O S.O. e quem gerencia o ciclo de vida da Activity. � Cada Activity e inserida na “Activity Stack”. � A Activity no topo dessa pilha representa a activity em execucao. ◦ Se exisitem outras activities, essas podem estar: � Em execucao em 2o plano; � Pausado; � Totalmente parado. � Uma activity pausada pode ser encerrada pelo S.O. para liberar recursos e memoria para outras activities. � onCreate(): ◦ Método obrigatório. ◦ E invocado uma única vez. ◦ Em geral, é definido o View da Acitivity. ◦ Em seguida é invocado o onStart. � onStart(): ◦ É chamada imediatamente após a onCreate(). ◦ Também e chamado quando uma Activity volta a ter foco. � onResume(): ◦ Sempre invocado quando a Activity recebe o foco novamente. � onPause(): ◦ Salva o estado da aplicação, quando o celular entra em modo de espera por exemplo. � onStop(): ◦ Quando a mesma está sendo encerrada e não fica mais visivel ao usuário. � onDestroy(): ◦ Chamado quando solicitado a finalizacao da aplicação. ◦ Pode ser invocado pelo sistema operacional, se for necessario desalocar recursos. � onRestart(): ◦ Chamado quando uma Activity volta depois de ficar fora temporariamente. ◦ Invoca o método onStart. � Ciclos repetidos ao longo da execução de uma aplicação: ◦ Entire lifetime ◦ Visible lifetime ◦ Foreground lifetime onCreate onStart( ) onResume( ) onPause( ) onStop( ) onDestroy( ) Entire Lifetime Visible Lifetime Foreground Lifetime � Ciclo de vida completo. ◦ Vai do inicio a destruicao da aplicacao. � E executado apenas 1 vez. � Define o tempo de vida completa de uma Activity. � Ocorre entre: onCreate( ) – onDestroy() ◦ Na execucao do metodo onCreate(), a Activity ainda nao esta visivel ao usuario. � Activity esta iniciada (em 1o ou 2o plano). ◦ Em 1o plano quer dizer que esta no topo da Android Stack. � Ocorre entre: onStart() – onStop() � A activity esta visivel ao usuario. � Os metodos do ciclo de vida podem ser chamados diversas vezes. � Obs: ◦ Ao executar o onStart(), o onResume() e automaticamente invocado. � Activity esta no topo da Android Stack (em 1o plano). � Ocorre entre: onResume() – onPause() � A activity esta visivel ao usuario. � A activity pode alterar entre executando - pausado. � Obs: ◦ O codigo desses metodos devem ser leves e rapidos. � Durante a execucao dos metodos: ◦ onPause() ◦ onStop() ◦ onDestroy() Uma Activity pode ser destruida pelo S.O. para liberar recursos, caso existam condicoes criticas. � Aplicativos complexos são compostos por várias telas. ◦ Existe um fluxo de navegação entre elas. � Permite iniciar uma nova Activity. � Pode retornar dados para a Activity de origem. � Métodos: ◦ startActivity(intent) ◦ startActivityForResult(codigo, resultado, intent) startActivity( ) startActivityForResult( ) Apenas inicia uma outra Activity. Inicia outra Activity, e permite retornar dados para uso na Activity de origem. Não há vinculo com a Activity de Origem Têm parâmetro que identifica a Activity chamadora. startActivity( ) startActivityForResult( ) Apenas inicia uma outra Activity. Inicia outra Activity, e permite retornar dados para uso na Activity de origem. Não há vinculo com a Activity de Origem Têm parâmetro que identifica a Activity chamadora. Tela 1 Tela 2 � O SDK do Android fornece uma ferramenta simples que permite simular uma ligação telefônica. � Utiliza-se uma conexão telnet com o emulador: � Para efetuar a chamada: telnet localhost 5554 gsm call 99999999 � Crie um projeto que emita mensagens de Log em cada etapa do ciclo de vida de uma Activity. � Crie um projeto que emita mensagens de Log em cada etapa do ciclo de vida de uma Activity. Em seguida simule o recebimento de uma ligação telefônica e avalie o comportamento do ciclo de vida a Activity.
Compartilhar