Escolar Documentos
Profissional Documentos
Cultura Documentos
@netomarin @Globalcode
SharedPreferences
Framework para persistir pares de
Preferncias
sbado, 26 de novembro de 2011
Valores padro
Lendo preferncias...
//default da aplicao Context c = getApplicationContext(); SharedPreferences defaultPrefs = PreferenceManager. getDefaultSharedPreferences(c); //Obtendo um SharedPreferences especfico SharedPreferences prefs = getSharedPreferences(SETTINGS, MODE_PRIVATE); //Lendo valores primitivos String email = prefs.getString(email, netomarin@gmail.com); boolean logado = prefs.getBoolean(logado, false); float volume = prefs.getFloat(volume, 1.0f); int idUsuario = prefs.getInt(idUsuario, -1); long timestamp = prefs.getLong(timestamp, 0);
http://developer.android.com/reference/android/content/ SharedPreferences.html
sbado, 26 de novembro de 2011
Gravando preferncias...
//Obtendo o SharedPreferences.Editor SharedPreferences prefs = getSharedPreferences(SETTINGS, MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); //atribuindo valores editor.putString(email, netomarin@globalcode.com.br); editor.putBoolean(logado, true); editor.putFloat(volume, 4.0f); editor.putInt(idUsuario, 779988); editor.putLong(timestamp, System.currentTimeMillis()); //COMMITANDO !! ** OBRIGATRIO ** editor.commit();
http://developer.android.com/reference/android/content/ SharedPreferences.Editor.html
sbado, 26 de novembro de 2011
SQLite
Saudades do SQL ?
Criar tabelas Inserir dados Consultar Apagar e tudo mais que voc sempre sentiu falta...
Inserindo dados...
//Obtendo instncia do banco de dados DatabaseHelper db = new DatabaseHelper(context); SQLiteDatabase litedb = db.getWritableDatabase(); //Criando objeto para inserir no SQLite ContentValues v = new ContentValues(); v.put(categoria, categoria); v.put(resumo, resumo); v.put(descricao, descricao); litedb.insert(todo, null, v);
Obtendo dados....
//Obtendo instncia do banco de dados DatabaseHelper db = new DatabaseHelper(context); SQLiteDatabase litedb = db.getReadableDatabase(); //Efetuando select :-) String sql = SELECT * FROM todo; Cursor c = litedb.rawQuery(sql, null); c.moveToFirst(); while(c.moveToNext()) { c.getString(0); //categoria c.getString(1); //resumo c.getString(2); //descricao }
Dados embarcados...
Prs: Possvel pr-carregar a aplicao com dados. Melhoria no desempenho de criao. Edio grca do banco de dados. Contra: Aumenta o tamanho da aplicao. Dados podem ser extrados do seu APK.
ContentProvider
nica forma de
Como funciona ?
Providers do sistema
Contatos Fotos Calendrio (disponvel a partir do ICS)
Lendo os contatos
//Obtendo os contatos Cursor c = managedQuery(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); //Navegando pelos contatos while (contacts.moveToNext()) { // Id do contato String contactID = contacts.getString(contacts. getColumnIndex(ContactsContract.Contacts._ID)); // Nome do contato (FirstName + LastName) String contactName = contacts.getString(contacts. getColumnIndex(ContactsContract.Data.DISPLAY_NAME));
http://developer.android.com/guide/topics/providers/ content-providers.html
sbado, 26 de novembro de 2011
BackupManager
Extender BackupAgentHelper
Deve ter pelo menos um backup helpers: 1. SharedPreferencesBackupHelper Backup de SharedPreferences! 2. FileBackupHelper Backup de arquivos do internal storage.
Fazer o backup...
AndroidManifest.xml
<application android:label="MyApplication" android:backupAgent="MyBackupAgent" android:allowBackup="true" > ... <meta-data android:name="com.google.android.backup.api_key" android:value="SUA_API_KEY" /> </application>
WTF... J acabou?
sbado, 26 de novembro de 2011
@netomarin
slideshare.net/netomarin
sbado, 26 de novembro de 2011