Em algumas situações o sistema pode encerrar sua activity, seja por falta de recursos ou por mudança de orientação da tela. Nesses casos, o método onSaveInstanceState é chamado para permitir ao programador salvar algum dado da activity. O método é chamado com uma referencia a um bundle, nele é que se deve salvar o(s) dado(s). Quando a activity for recriada esse bundle é passado para o onCreate e onRestoreInstanceState.
Segue abaixo um esquema básico:
Salva o(s) dados(s):
Recupera o(s) dado(s), aqui:
Ou aqui:
Os dados da tela são salvos e restaurados automaticamente, por isso é fundamental chamar o método no super.
Lembrar que esse procedimento só deve ser usado para dados temporários (transitórios), pois são salvos em memória, correndo o risco de serem descartados.
Em caso de dados importantes, ou na dúvida, salve-os de maneira persistente.
Abraços
sexta-feira, 20 de fevereiro de 2015
Curso Android online
Este curso oferecido pelo Coursera é bem interessante:
Programação de aplicativos para dispositivos móveis com sistema Android: Part 1
Programação de aplicativos para dispositivos móveis com sistema Android: Part 2
O inglês do professor Adam Porter é bem fácil, compreensível.
É bom ter um nível intermediário de conhecimentos de programação Java e, apesar de não ser um pré-requisito, é interessante ter um nível introdutório em Android. Vai aproveitar mais.
Assisti todas as aulas da parte 1 e estou acompanhando a parte 2.
Gostei, recomendo.
Abraços
terça-feira, 17 de fevereiro de 2015
Android básico: retornando dados de uma activity para outra.
Um fato que acontece com frequencia é a necessidade de capturar o retorno de uma outra activity. Para isso temos que chamar a activity com um método específico, o startActivityForResult.
Por exemplo, a ActivityA invoca a ActivityB com startActivityForResult e aguarda o retorno em onActivityResult. Na ActivityB o retorno é passado via uma Intent, posicionado via setResult.
Abaixo segue o esquema básico:
Na activity chamadora, ActivityA:
Na activity chamada, ActivityB:
Abraços
Por exemplo, a ActivityA invoca a ActivityB com startActivityForResult e aguarda o retorno em onActivityResult. Na ActivityB o retorno é passado via uma Intent, posicionado via setResult.
Abaixo segue o esquema básico:
Na activity chamadora, ActivityA:
Na activity chamada, ActivityB:
Abraços
Assinar:
Postagens (Atom)