Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Android Dev Camp] Android Bootcamp

[Android Dev Camp] Android Bootcamp

Básico de Android apresentado em 2h no Android Dev Camp 2012 em São Paulo

Douglas Kayama

February 18, 2012
Tweet

More Decks by Douglas Kayama

Other Decks in Programming

Transcript

  1. eu.about() • Técnico • (pseudo)Matemático • Bacharel em Ciência da

    Computação • Analista de software no Instituto de Pesquisas Eldorado
  2. Livre • the definition of open: "mkdir android ; cd

    android ; repo init -u git:// android.git.kernel.org/platform/manifest.git ; repo sync ; make" http://twitter.com/#!/arubin/status/27808662429
  3. Broadcast Receiver • Não possui interface (com usuário)! • Roda

    em segundo plano! • Reage a mensagens de broadcast! • Exemplo: carga de bateria
  4. Activity • 3 estados: ativa, em pausa e parada! •

    3 ciclos de vida! • pode morrer a qualquer momento se não estiver ativa
  5. Prática • Criar uma aplicação com os métodos onCreate(), onStart(),

    onResume(), onPause(), onStop(), onDestroy() e onRestart()! • Colocar logs nesses métodos e observar o que acontece
  6. Layout <?xml&version="1.0"&encoding="utf98"?>& <LinearLayout&xmlns:android="http://schemas.android.com/apk/res/ android"& &&&&&&&&&&&&&&android:layout_width="match_parent"&& &&&&&&&&&&&&&&android:layout_height="match_parent"&& &&&&&&&&&&&&&&android:orientation="vertical"&>& &&&&<TextView&android:id="@+id/text"& &&&&&&&&&&&&&&android:layout_width="wrap_content"& &&&&&&&&&&&&&&android:layout_height="wrap_content"&

    &&&&&&&&&&&&&&android:text="Hello,&I&am&a&TextView"&/>& &&&&<Button&android:id="@+id/my_button"& &&&&&&&&&&&&android:layout_width="wrap_content"& &&&&&&&&&&&&android:layout_height="wrap_content"& &&&&&&&&&&&&android:text="Hello,&I&am&a&Button"&/>& </LinearLayout>& http://developer.android.com/
  7. Eventos • Definir um listener e registrá-lo com a View!

    • Sobrecarregar um método de callback na View
  8. Listeners • onClick() → View.OnClickListener! • onLongClick() → View.OnLongClickListener! •

    onFocusChange() → View.OnFocusChangeListener! • onKey() → View.OnKeyListener! • onTouch() → View.OnTouchListener! • onCreateContextMenu() → View.OnCreateContextMenuListener
  9. Listeners //&Create&an&anonymous&implementation&of&OnClickListener& private&OnClickListener&mCorkyListener&=&new&OnClickListener()&{& &&&&public&void&onClick(View&v)&{& &&&&&&//&do&something&when&the&button&is&clicked& &&&&}& };& ! protected&void&onCreate(Bundle&savedValues)&{& &&&&...&

    &&&&//&Capture&our&button&from&layout& &&&&Button&button&=&(Button)findViewById(R.id.corky);& &&&&//&Register&the&onClick&listener&with&the&implementation&above& &&&&button.setOnClickListener(mCorkyListener);& &&&&...& }& http://developer.android.com/
  10. Intents • Comunicação intra e inter app de um jeito

    amigável e inteligente! • Serve para iniciar activities, services e broadcast receivers
  11. Intents • Possui um alvo facultativo! • Se não tiver

    especificado alvo, o sistema encontra um! • Pode executar uma Activity ou Service específico! • IntentFilters
  12. Intents Constante Alvo Ação ACTION_CALL activity Inicia uma ligação ACTION_EDIT

    activity Apresenta dados a serem editados ACTION_MAIN activity Activity inicial ACTION_SYNC activity Sincroniza dados com servidor ACTION_BATTERY_LOW broadcast receiver Aviso de bateria fraca ACTION_HEADSET_PLUG broadcast receiver Um fone de ouvido foi conectado ou desconectado ACTION_SCREEN_ON broadcast receiver A tela foi ligada (acesa) ACTION_TIMEZONE_CHANGED broadcast receiver Configurações de timezone modificadas