Android


<jornada.TextView 
android:text="Persistência
android:id="@+id/curso_subtitulo"/>

@Overrideprotected void onCreate(Bundle savedInstanceBundle){   super.onCreate(savedInstanceBundle);   setContentView(R.layout.persistencia);}

Formas de persistência



Serão vistas:

  • SharedPreferences
  • SQLite

SharedPreferences


  • Usado para salvar dados de tipo primitivo
  • Salva dados mesmo após a aplicação ser destruída


Visível em todas as activities
 getSharedPreferences()

Visível apenas na própria activity
 getPreferences()


Como ler os dados?


//1º Parâmetro: chave.//2º parâmetro: Modo de operação. Context.MODE_PRIVATE (0)

SharedPreferences preferencias = getSharedPreferences("nome", 0);


//1ºParâmetro - chave usada para guardar
//2ºParâmetro - valor default caso não exista
String stringGuardada = preferencias.getString("chave", null);boolean boolGuardado = preferencias.getBoolean("chaveBool", false);...

Como inserir?


Editor
SharedPreferences preferencias = getSharedPreferences("nome", 0);
SharedPreferences.Editor editor = preferencias.edit();

String stringExemplo = "exemploDeStringSalvar";boolean boolExemplo  = true;

editor.putString("chave", stringExemplo);editor.putBoolean("chaveBool", boolExemplo);...

 editor.commit();

SQLite


  • Usado para persistir grande quantidade de dados
  • Armazena tipos complexos
  • Banco de dados relacional


Exemplo: Conta - Calculadora



Mapeando para tabela



Construindo BD



 public class ContaDB extends SQLiteOpenHelper


 onCreate(SQLiteDatabase db)
 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)

 CREATE TABLE contas (id INTEGER PRIMARY KEY AUTOINCREMENT, parcela1 INTEGER, operador TEXT, parcela2 INTEGER, resultado INTEGER)

Métodos


//SELECT
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM tabela", null);

//INSERT
SQLiteDatabase db = this.getWritableDatabase();
ContentValues valores = new ContentValues();
valores.put("id", 1);
valores.put("nome", "Pedro Álvares");
valores.put("ano", 1500);
db.insert("nomeDaTabela", null, valores);



Persistência

By Filipe

Persistência

  • 361