settings, shared intent, send broadcast

18
Settings, Share Intent. Não reivente a roda!

Upload: silas-limeira

Post on 01-Jul-2015

64 views

Category:

Software


0 download

DESCRIPTION

Apresentação para o terceiro meetup Android do GDG João Pessoa.

TRANSCRIPT

Page 1: Settings, shared intent, send broadcast

Settings, Share Intent.Não reivente a roda!

Page 2: Settings, shared intent, send broadcast

● Engenharia da Computação;● Entusiasta Tecnológico;● Manager BlackBerry;● Organizer GDG;● Prêmios:

○ Space Apps Challenge NASA 2013;○ Chrome Apps Challenge GDG-SP;○ Startup Jam World 2013;

Silas Monteiro Limeira

Page 3: Settings, shared intent, send broadcast

Settings

Page 4: Settings, shared intent, send broadcast

Settings

Page 5: Settings, shared intent, send broadcast

Quando o usuário salva algo nas preferências (settings), esse valor fica salvo no arquivo

(SharedPreferences). Onde armazena informações em chaves de dados primitivos.

EXEMPLO?

Settings

Page 6: Settings, shared intent, send broadcast

Settings1. Criar um SettingsActivity;

a. Use uma classe PreferenceActivity;2. Atualize o AndroidManifest para declarar a

SettingsActivity;

Versão Simplificada: goo.gl/8YPft1Android Developers: goo.gl/yz8uz2

Page 7: Settings, shared intent, send broadcast

Settings1. Coloque o SettingsActivity para aparecer no MainActivity e no

DetailActivity;

public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { StartActivity(new Intent(this, SettingsActivity.class)); return true; } return super.onOptionsItemSelected(item); }

Page 8: Settings, shared intent, send broadcast

Settings1. Crie um arquivo(XML) chamado pref_general.xml com

<PreferenceScreen>.2. Add EditTextPreference para configurações da

Localização;3. Adicione Strings no strings.xml;

Veja exemplo de <PreferenceScreen> aqui: goo.gl/CN5uXu

Page 9: Settings, shared intent, send broadcast

Settings1. Carregue o XML layout do SettingsActivity com o

addPreferencesFromResource(R.xml.pref_general);

2. Conectar as preferências de localização com o bindPreferenceSummaryToValue(findPreference(getString(R.string.pref_location_key));

Page 10: Settings, shared intent, send broadcast

Settings

❏ Faça o mesmo para mudar as unidades métricas.

Page 11: Settings, shared intent, send broadcast

Abrindo o Maps

Page 12: Settings, shared intent, send broadcast

❏ Add no arquivo de menu da tela principal outro item (maps);

❏ Na Activity principal vamos chamar o maps;

Maps

Page 13: Settings, shared intent, send broadcast

Maps private void openPreferredLocationInMap() {

String location = Utility.getPreferredLocation(this);

Uri geoLocation = Uri.parse("geo:0,0?").buildUpon()

.appendQueryParameter("q", location)

.build();

Intent viewOnMapIntent = new Intent(Intent.ACTION_VIEW);

viewOnMapIntent.setData(geoLocation);

if (viewOnMapIntent.resolveActivity(getPackageManager()) != null) {

startActivity(viewOnMapIntent);

} else {

Log.e(LOG_TAG, "Couldn't open map to location: " + location + ", no available Intent");

}

}

Page 14: Settings, shared intent, send broadcast

Shared Intent

❏ Compartilhar um conteúdo é uma das ações mais comuns entre usuários mobile;

❏ Para compartilhar fotos, textos, videos, músicas, não precisamos nem saber quais os aplicativos favoritos do usuário;

❏ Apenas diga ao Android qual conteúdo você quer compartilhar e ele vai listar os aplicativos que podem compartilhar;

Send Intent

Page 15: Settings, shared intent, send broadcast

Shared Intent

goo.gl/j4re1V

Page 16: Settings, shared intent, send broadcast

Shared Intent1. Criem um novo arquivo de menu chamado

detailFragment;2. Add um ShareActivityProvider em DetailActivity;3. Add um texto para compartilhar junto exemplo #gdgjp;

Page 17: Settings, shared intent, send broadcast
Page 18: Settings, shared intent, send broadcast

OBRIGADO!

Twitter: @silasidG+: +SILASMONTEIROEmail: [email protected]

http://gdgjp.org.br/