Class10
Armazenamento Persistente de
Dados
• Como armazenar as opções de preferência de uma aplicação?
• Como tocar músicas em uma a@vidade Android?
• Como armazenar dados usando Bundles?
• Como usar o sistema de arquivos do aparelho celular?
• Como manipular arquivos de texto em Java?
• Como armazenar objetos diretamente em arquivos?
Armazenamento Permante
• Dados armazenados permanentemente não desaparecem quando a aplicação termina sua execução. Em que situações precisamos de armazenamento persistente?
Pense em aplicações Android que usam persistência.
Armazenamento Permante
• Dados armazenados permanentemente não desaparecem quando a aplicação termina sua execução. – Guardar a lista de compras;
– Armazenar a lista de endereços;
– Lembrar a posição das peças de xadrez no tabuleiro; – Armazenar as opções escolhidas para uma aplicação; – etc
Muitas formas de Armazenamento
• A API de preferências
• Estados de “Bundles”
• Arquivos de armazenamento em memória flesh • Etc
Preferências
• Nosso Sudoku possui um menu de opções.
– Você lembra como isso foi implementado?
Sudoku.java
Preferências
public boolean onOp@onsItemSelected(MenuItem item) {
Modifique a switch (item.getItemId()) { classe Prefs para case R.id.se^ngs: startAc@vity(new Intent(this, Prefs.class)); que ela armazene e retorne as return true; preferências } escolhidas pelo return false; usuário. } public class Prefs extends PreferenceAc@vity { @Override se O que es á protected void onCreate(Bundle savedInstanceState) { est super.onCreate(savedInstanceState); o d o t é m
?
fazendo addPreferencesFromResource(R.layout.se^ngs); }
}
Prefs.java
se^ngs.java
Preferências
<?xml version="1.0" encoding="uf‐8"?>
<PreferenceScreen
xmlns:android="hjp://schemas.android.com/apk/res/android"> <CheckBoxPreference android:key="music"