• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013
 

[FLISOL] Android Faixa Branca (Iniciando no Android) – 2013

on

  • 277 views

Palestra ministrada no FLISOL Campinas 2013

Palestra ministrada no FLISOL Campinas 2013

Statistics

Views

Total Views
277
Views on SlideShare
265
Embed Views
12

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 12

http://www.robotodojo.com 9
http://www.douglasdrumond.com 3

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    [FLISOL] Android Faixa Branca (Iniciando no Android) – 2013 [FLISOL] Android Faixa Branca (Iniciando no Android) – 2013 Presentation Transcript

    • Android
 Faixa Branca Douglas Drumond! drumond.douglas@gmail.com eee19.com
    • eu.about() eee19.com
    • eu.about() • Bacharel em Ciência da Computação eee19.com
    • eu.about() • Bacharel em Ciência da Computação • Analista de software no Instituto de Pesquisas Eldorado eee19.com
    • eu.about() • Bacharel em Ciência da Computação • Analista de software no Instituto de Pesquisas Eldorado • Sócio e co-fundador da Y-MAX Consultoria em TI eee19.com
    • eu.about() • Bacharel em Ciência da Computação • Analista de software no Instituto de Pesquisas Eldorado • Sócio e co-fundador da Y-MAX Consultoria em TI • Organizador do GDG Campinas eee19.com
    • @Eldorado Aplicações Framework Bibliotecas Dalvik Linux Kernel eee19.com
    • @Eldorado Aplicações Framework Bibliotecas Linux Kernel Dalvik BP eee19.com
    • Hoje http://www.flickr.com/photos/natalielucier/3619749009/ eee19.com
    • http://www.flickr.com/photos/donkeyhotey/5666071828/ eee19.com
    • Ferramentas eee19.com
    • Pré-requisitos • JDK! • Android SDK eee19.com
    • Sistema Operacional • Linux! • Mac OS X (Intel)! • Windows XP ou superior eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas • Remote debugger • logcat • DDMS eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • Ferramentas eee19.com
    • 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 eee19.com
    • Arquitetura eee19.com
    • Arquitetura Linux Kernel eee19.com
    • Arquitetura Bibliotecas Dalvik Linux Kernel eee19.com
    • Arquitetura Framework Bibliotecas Dalvik Linux Kernel eee19.com
    • Arquitetura Aplicações Framework Bibliotecas Dalvik Linux Kernel eee19.com
    • Arquitetura Aplicações Framework Bibliotecas Dalvik Linux Kernel eee19.com
    • Dissecando as Aplicações eee19.com
    • Activity eee19.com
    • Service eee19.com
    • Content Provider eee19.com
    • Intent eee19.com
    • Intent eee19.com
    • Intent eee19.com
    • Intent eee19.com
    • Intent eee19.com
    • Broadcast Receiver • Não possui interface (com usuário)! • Roda em segundo plano! • Reage a mensagens de broadcast! • Exemplo: carga de bateria eee19.com
    • Activity • Interface! • Um objetivo! • Várias por aplicativo! • Pode iniciar outras activities eee19.com
    • Activity • 3 estados: ativa, em pausa e parada! • 3 ciclos de vida! • pode morrer a qualquer momento se não estiver ativa eee19.com
    • Activity eee19.com
    • Activity onCreate() eee19.com
    • Activity onCreate() onStart() eee19.com
    • Activity onCreate() onStart() onResume() eee19.com
    • Activity onCreate() onStart() onResume() em execução eee19.com
    • Activity onCreate() onStart() onResume() em execução onPause() eee19.com
    • Activity onCreate() onStart() onResume() em execução onPause() eee19.com
    • Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() eee19.com
    • Activity onCreate() onStart() Primeiro plano onResume() em execução onPause() onStop() eee19.com
    • Activity onCreate() onStart() Primeiro plano onRestart() onResume() em execução onPause() onStop() eee19.com
    • Activity onCreate() onStart() Primeiro plano onRestart() onResume() em execução onPause() onStop() eee19.com
    • Activity onCreate() Visível onStart() Primeiro plano onRestart() onResume() em execução onPause() onStop() eee19.com
    • Activity onCreate() Visível onStart() Primeiro plano onRestart() onResume() em execução onPause() onStop() onDestroy() eee19.com
    • Activity onCreate() Visível onStart() Primeiro plano onRestart() onResume() em execução onPause() onStop() onDestroy() shutdown eee19.com
    • Activity Ciclo de vida completo onCreate() Visível onStart() Primeiro plano onRestart() onResume() em execução onPause() onStop() onDestroy() shutdown eee19.com
    • Multitarefa eee19.com
    • Multitarefa eee19.com
    • Multitarefa onCreate() eee19.com
    • Multitarefa onPause() eee19.com
    • Multitarefa eee19.com
    • Multitarefa onResume() eee19.com
    • Multitarefa onPause() eee19.com
    • Multitarefa onStop() eee19.com
    • Multitarefa onStop() onCreate() eee19.com
    • Multitarefa onStop() onCreate() onPause() eee19.com
    • Multitarefa onStop() onCreate() onPause() onStop() eee19.com
    • Multitarefa onStop() onCreate() onPause() onStop() eee19.com
    • Multitarefa onStop() onCreate() onCreate() onPause() onStop() eee19.com
    • Multitarefa onStop() onCreate() onRestart() onPause() onStop() onCreate() eee19.com
    • Multitarefa onStop() onCreate() onRestart() onPause() onStart() onStop() onCreate() eee19.com
    • 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 eee19.com
    • UI • Hierarquia de ViewGroups e Views eee19.com
    • View Group View Group View View View View View http://developer.android.com/guide/topics/ui/overview.html eee19.com
    • Layout <?xml version="1.0" encoding="utf-8"?> <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" /> http://developer.android.com/ </LinearLayout> eee19.com
    • Layout public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main_layout); } Button myButton = (Button) findViewById(R.id.my_button); http://developer.android.com/ eee19.com
    • Layout • FrameLayout! • LinearLayout! • TableLayout! • RelativeLayout eee19.com
    • Eventos • Definir um listener e registrá-lo com a View! • Sobrecarregar um método de callback na View eee19.com
    • Listeners • onClick() → View.OnClickListener! • onLongClick() → View.OnLongClickListener! • onFocusChange() → View.OnFocusChangeListener! • onKey() → View.OnKeyListener! • onTouch() → View.OnTouchListener! • onCreateContextMenu() → View.OnCreateContextMenuListener eee19.com
    • 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/     ... } eee19.com
    • Listeners public class ExampleActivity extends Activity implements OnClickListener {     protected void onCreate(Bundle savedValues) {         ...         Button button = (Button)findViewById(R.id.corky);         button.setOnClickListener(this);     } !     // Implement the OnClickListener callback     public void onClick(View v) {       // do something when the button is clicked     }     ... http://developer.android.com/ } eee19.com
    • Intents • Comunicação intra e inter app de um jeito amigável e inteligente! • Serve para iniciar activities, services e broadcast receivers eee19.com
    • Intents • Possui um alvo facultativo! • Se não tiver especificado alvo, o sistema encontra um! • Pode executar uma Activity ou Service específico! • IntentFilters eee19.com
    • Intents • Component name! • Action! • Data! • Category! • Extras! • Flags eee19.com
    • 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 eee19.com
    • Intent filter <intent-filter . . . >     <action android:name="com.example.project.SHOW_CURRENT" />     <action android:name="com.example.project.SHOW_RECENT" />     <action android:name="com.example.project.SHOW_PENDING" />     . . . </intent-filter> <intent-filter . . . >     <data android:mimeType="video/mpeg" android:scheme="http" . . . />     <data android:mimeType="audio/mpeg" android:scheme="http" . . . />     . . . </intent-filter> http://developer.android.com/ eee19.com
    • http://developer.android.com/! ! http://developer.android.com/ training/index.html! eee19.com
    • Obrigado • Twitter/ADN @douglasdrumond! • www.eee19.com! • gplus.to/douglasdrumond eee19.com