SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
facebookoid
                                       Integrando sua app
                                     android com o facebook



                                     @ramonrabello



segunda-feira, 5 de dezembro de 11
prazer, eu sou Ramon Rabello...

                                                      Ciência da Computação
                                                Universidade da Amazonia (UNAMA)         +1

                                     trabalho com
                                      desde 2005
                                                                                   Engenheiro de Software
                                                                                       pela dddddddd
                            acompanho
                              Android                                                           Instrutor do
                           desde o início

                                          um dos idealizadores do projeto
                                                                              palestrante da
                                         Andromeda, apresentado durante o
                                                                            AndroidConf 2011
                                                  DroidCon `09
segunda-feira, 5 de dezembro de 11
Égua, mas quem é este “piquenu”?




                                                   ?

segunda-feira, 5 de dezembro de 11
Égua, mas quem é este “piquenu”?




                                                                    sou a 1a
                                                               plataforma móvel
                                                                   aberta!




segunda-feira, 5 de dezembro de 11
Égua, mas quem é este “piquenu”?




                                                                 amigo do
                                                                  Tux...




segunda-feira, 5 de dezembro de 11
Égua, mas quem é este “piquenu”?




                                                                   e do
                                                                  Duke...




segunda-feira, 5 de dezembro de 11
Égua, mas quem é este “piquenu”?




                                                                    e gosto
                                                                   muito de
                                                                 sobremesas!




segunda-feira, 5 de dezembro de 11
Égua, mas quem é este “piquenu”?




                                                                  também sou um
                                                                      kit de
                                                                desenvolvimento
                                                                     completo!




segunda-feira, 5 de dezembro de 11
Tá, e o que tu sabes fazer?!




                                                                Vou mostrar como
                                                                   me comunico
                                                                 facilmente com o
                                                                  Facebook! ;)




segunda-feira, 5 de dezembro de 11
Registrar sua aplicação Android no Facebook
        1

                                                          Registrando as informações de sua app...
               Criando uma app Facebook em
            https://developers.facebook.com/apps




segunda-feira, 5 de dezembro de 11
Fazer download e instalar as ferramentas necessárias
        2




                                                           2               3
                            1




segunda-feira, 5 de dezembro de 11
Criar um Projeto Android com o Facebook SDK
        3




segunda-feira, 5 de dezembro de 11
Referenciar o Facebook SDK no projeto
        4




segunda-feira, 5 de dezembro de 11
Adicionar a assinatura da sua aplicação nas configurações do Facebook
        5

   Gerando uma chave para a sua aplicação...                Inserindo a chave nas configurações de sua app
    keytool -exportcert -alias androiddebugkey
    -keystore ~/.android/debug.keystore
    | openssl sha1 -binary | openssl base64




segunda-feira, 5 de dezembro de 11
Ativando o mecanismo Single Sign-On (SSO) na sua app
        6
                                            public class FacebookoidActivity extends Activity {
                                            	
                                            	 Facebook facebook = new Facebook("SUA_APP_ID");

                                                @Override
                                                public void onCreate(Bundle savedInstanceState) {
                                                    super.onCreate(savedInstanceState);
                                                    setContentView(R.layout.main);

                                                    facebook.authorize(this, new DialogListener() {

                                                    	     @Override
                                                          public void onComplete(Bundle values) {}

                                                          @Override
                                                          public void onFacebookError(FacebookError error) {}

                                                          @Override
                                                          public void onError(DialogError e) {}

                                                          @Override
                                                          public void onCancel() {}
                                                    });
                                                }

                                                @Override
                                                public void onActivityResult(int requestCode, int resultCode, Intent data) {
                                                    super.onActivityResult(requestCode, resultCode, data);

                                                    facebook.authorizeCallback(requestCode, resultCode, data);
                                                }
                                            }
segunda-feira, 5 de dezembro de 11
Adicionando a permissão de acesso à Internet no AndroidManifest.xml
        7
                                     <?xml version="1.0" encoding="utf-8"?>
                                     <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                                         package="br.com.androidnarede.facebookoid"
                                         android:versionCode="1"
                                         android:versionName="1.0" >

                                         <uses-sdk android:minSdkVersion="10" />
                                         <uses-permission android:name="android.permission.INTERNET"/>

                                         <application
                                             android:icon="@drawable/ic_launcher"
                                             android:label="@string/app_name" >
                                             <activity
                                                 android:label="@string/app_name"
                                                 android:name=".FacebookoidActivity" >
                                                 <intent-filter >
                                                      <action android:name="android.intent.action.MAIN" />

                                                     <category android:name="android.intent.category.LAUNCHER" />
                                                 </intent-filter>
                                             </activity>
                                         </application>

                                     </manifest>


segunda-feira, 5 de dezembro de 11
Publicando no seu mural
        8
                                     public void publicarNoMural(View v) {
                                     	 	
                                     	 	 //exibe o diálogo para postar no mural do usuário
                                     	      facebook.dialog(this, "feed", new DialogListener()   {
                                     	 	 	
                                     	 	 	 @Override
                                     	 	 	 public void onFacebookError(FacebookError e) {
                                     	 	 	 	 Toast.makeText(FacebookoidActivity.this, "Erro      ao postar no Facebook: " +
                                     e.getMessage(), Toast.LENGTH_LONG).show();
                                     	 	 	 }
                                     	 	 	
                                     	 	 	 @Override
                                     	 	 	 public void onError(DialogError e) {
                                     	 	 	 	 Toast.makeText(FacebookoidActivity.this, "Erro      ao postar no Facebook: " +
                                     e.getMessage(), Toast.LENGTH_LONG).show();
                                     	 	 	 }
                                     	 	 	
                                     	 	 	 @Override
                                     	 	 	 public void onComplete(Bundle values) {
                                     	 	 	 	 Toast.makeText(FacebookoidActivity.this, "Post      publicado com sucesso!",
                                     Toast.LENGTH_LONG).show();
                                     	 	 	 }
                                     	 	 	
                                     	 	 	 @Override
                                     	 	 	 public void onCancel() {
                                     	 	 	 	 // TODO Auto-generated method stub
                                     	 	 	 }
                                     	 	 });
                                     	 }



segunda-feira, 5 de dezembro de 11
Telas da aplicação

                                     Tela Inicial   Autenticando, no 1o acesso…   Postando no seu mural...




segunda-feira, 5 de dezembro de 11
Saiba mais sobre Android


                                     Site Oficial do Desenvolvedor Android
                                                 d.android.com

                                         Ajude a evoluir a plataforma!
                                             source.android.com

                                               Portal Android
                                              portalandroid.org

                                     Formação Completa Android na Rede
                                           androidnarede.com.br
segunda-feira, 5 de dezembro de 11
Dúvidas, pessoal?
     about.me/ramonrabello
           tasafo.org

                      @tasafo                             Muito
                   @ramonrabello                         Obrigado!
                   @androidnarede




segunda-feira, 5 de dezembro de 11

Mais conteúdo relacionado

Destaque

De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...
De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...
De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...Alex Primo
 
Carol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mim
Carol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mimCarol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mim
Carol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mimcarlos2627
 
Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...
Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...
Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...ExternalEvents
 
Aculab E1-T1 MVIP-SC-BUS CARD
Aculab E1-T1 MVIP-SC-BUS CARDAculab E1-T1 MVIP-SC-BUS CARD
Aculab E1-T1 MVIP-SC-BUS CARDsavomir
 
Lista de medidas de almacenamiento
Lista de medidas de almacenamientoLista de medidas de almacenamiento
Lista de medidas de almacenamientoalex_sanz
 
Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012
Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012
Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012Bogdan Antohe
 

Destaque (9)

De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...
De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...
De narcisismo, celebridades, celetoides e subcelebridades: o caso Tessália e ...
 
Carol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mim
Carol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mimCarol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mim
Carol cavalaris-muestra-de-arte-milespowerpoints.com aproveitarpara-mim
 
Imagenes graciosas
Imagenes graciosasImagenes graciosas
Imagenes graciosas
 
Test
TestTest
Test
 
Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...
Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...
Biodiversity protection and valorisation, experiences from Slow Food, by Cinz...
 
Dormer building
Dormer buildingDormer building
Dormer building
 
Aculab E1-T1 MVIP-SC-BUS CARD
Aculab E1-T1 MVIP-SC-BUS CARDAculab E1-T1 MVIP-SC-BUS CARD
Aculab E1-T1 MVIP-SC-BUS CARD
 
Lista de medidas de almacenamiento
Lista de medidas de almacenamientoLista de medidas de almacenamiento
Lista de medidas de almacenamiento
 
Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012
Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012
Rezultate AG Olimpic feminin - Triathon Challenge Mamaia 2012
 

Mais de Ramon Ribeiro Rabello

Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeRamon Ribeiro Rabello
 
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondAndroid Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondRamon Ribeiro Rabello
 
Create Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackCreate Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackRamon Ribeiro Rabello
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android StudioRamon Ribeiro Rabello
 
Produtividade ninja com android studio
Produtividade ninja com android studioProdutividade ninja com android studio
Produtividade ninja com android studioRamon Ribeiro Rabello
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Ramon Ribeiro Rabello
 
Os caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaOs caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaRamon Ribeiro Rabello
 
Making your app see with Mobile Vision API
Making your app see with Mobile Vision APIMaking your app see with Mobile Vision API
Making your app see with Mobile Vision APIRamon Ribeiro Rabello
 
Inovar em tempos de crise? Yes, We Can!
Inovar em tempos de crise?  Yes, We Can!Inovar em tempos de crise?  Yes, We Can!
Inovar em tempos de crise? Yes, We Can!Ramon Ribeiro Rabello
 
Android Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesAndroid Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesRamon Ribeiro Rabello
 
O caminho de um desenvolvedor android
O caminho de um desenvolvedor androidO caminho de um desenvolvedor android
O caminho de um desenvolvedor androidRamon Ribeiro Rabello
 
Workshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoWorkshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoRamon Ribeiro Rabello
 
De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...Ramon Ribeiro Rabello
 

Mais de Ramon Ribeiro Rabello (20)

Declarative UIs with Jetpack Compose
Declarative UIs with Jetpack ComposeDeclarative UIs with Jetpack Compose
Declarative UIs with Jetpack Compose
 
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyondAndroid Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyond
 
Create Modern Apps with Android Jetpack
Create Modern Apps with Android JetpackCreate Modern Apps with Android Jetpack
Create Modern Apps with Android Jetpack
 
Cultura de testes em times mobile
Cultura de testes em times mobileCultura de testes em times mobile
Cultura de testes em times mobile
 
Ninja Productivity in Android Studio
Ninja Productivity in Android StudioNinja Productivity in Android Studio
Ninja Productivity in Android Studio
 
Produtividade ninja com android studio
Produtividade ninja com android studioProdutividade ninja com android studio
Produtividade ninja com android studio
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!
 
Os caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa PúblicaOs caminhos da Agilidade em Empresa Pública
Os caminhos da Agilidade em Empresa Pública
 
Making your app see with Mobile Vision API
Making your app see with Mobile Vision APIMaking your app see with Mobile Vision API
Making your app see with Mobile Vision API
 
Inovar em tempos de crise? Yes, We Can!
Inovar em tempos de crise?  Yes, We Can!Inovar em tempos de crise?  Yes, We Can!
Inovar em tempos de crise? Yes, We Can!
 
O ecossistema android
O ecossistema androidO ecossistema android
O ecossistema android
 
Android Marshmallow na prática
Android Marshmallow na práticaAndroid Marshmallow na prática
Android Marshmallow na prática
 
Android Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentesAndroid Wear: Estendendo sua app para relógios inteligentes
Android Wear: Estendendo sua app para relógios inteligentes
 
Introdução ao Android Studio
Introdução ao Android StudioIntrodução ao Android Studio
Introdução ao Android Studio
 
O caminho de um desenvolvedor android
O caminho de um desenvolvedor androidO caminho de um desenvolvedor android
O caminho de um desenvolvedor android
 
Criando Apps Sociais em Android
Criando Apps Sociais em AndroidCriando Apps Sociais em Android
Criando Apps Sociais em Android
 
Porque Aprender Android
Porque Aprender AndroidPorque Aprender Android
Porque Aprender Android
 
Workshop Android em Ambientes de Integração
Workshop Android em Ambientes de IntegraçãoWorkshop Android em Ambientes de Integração
Workshop Android em Ambientes de Integração
 
De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...De idealista à empreendedor - como desenvolver aplicações em android que conq...
De idealista à empreendedor - como desenvolver aplicações em android que conq...
 
Desenvolvimento Web para Android
Desenvolvimento Web para AndroidDesenvolvimento Web para Android
Desenvolvimento Web para Android
 

"Facebookoid"

  • 1. facebookoid Integrando sua app android com o facebook @ramonrabello segunda-feira, 5 de dezembro de 11
  • 2. prazer, eu sou Ramon Rabello... Ciência da Computação Universidade da Amazonia (UNAMA) +1 trabalho com desde 2005 Engenheiro de Software pela dddddddd acompanho Android Instrutor do desde o início um dos idealizadores do projeto palestrante da Andromeda, apresentado durante o AndroidConf 2011 DroidCon `09 segunda-feira, 5 de dezembro de 11
  • 3. Égua, mas quem é este “piquenu”? ? segunda-feira, 5 de dezembro de 11
  • 4. Égua, mas quem é este “piquenu”? sou a 1a plataforma móvel aberta! segunda-feira, 5 de dezembro de 11
  • 5. Égua, mas quem é este “piquenu”? amigo do Tux... segunda-feira, 5 de dezembro de 11
  • 6. Égua, mas quem é este “piquenu”? e do Duke... segunda-feira, 5 de dezembro de 11
  • 7. Égua, mas quem é este “piquenu”? e gosto muito de sobremesas! segunda-feira, 5 de dezembro de 11
  • 8. Égua, mas quem é este “piquenu”? também sou um kit de desenvolvimento completo! segunda-feira, 5 de dezembro de 11
  • 9. Tá, e o que tu sabes fazer?! Vou mostrar como me comunico facilmente com o Facebook! ;) segunda-feira, 5 de dezembro de 11
  • 10. Registrar sua aplicação Android no Facebook 1 Registrando as informações de sua app... Criando uma app Facebook em https://developers.facebook.com/apps segunda-feira, 5 de dezembro de 11
  • 11. Fazer download e instalar as ferramentas necessárias 2 2 3 1 segunda-feira, 5 de dezembro de 11
  • 12. Criar um Projeto Android com o Facebook SDK 3 segunda-feira, 5 de dezembro de 11
  • 13. Referenciar o Facebook SDK no projeto 4 segunda-feira, 5 de dezembro de 11
  • 14. Adicionar a assinatura da sua aplicação nas configurações do Facebook 5 Gerando uma chave para a sua aplicação... Inserindo a chave nas configurações de sua app keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64 segunda-feira, 5 de dezembro de 11
  • 15. Ativando o mecanismo Single Sign-On (SSO) na sua app 6 public class FacebookoidActivity extends Activity { Facebook facebook = new Facebook("SUA_APP_ID"); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); facebook.authorize(this, new DialogListener() { @Override public void onComplete(Bundle values) {} @Override public void onFacebookError(FacebookError error) {} @Override public void onError(DialogError e) {} @Override public void onCancel() {} }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); facebook.authorizeCallback(requestCode, resultCode, data); } } segunda-feira, 5 de dezembro de 11
  • 16. Adicionando a permissão de acesso à Internet no AndroidManifest.xml 7 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="br.com.androidnarede.facebookoid" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <uses-permission android:name="android.permission.INTERNET"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".FacebookoidActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> segunda-feira, 5 de dezembro de 11
  • 17. Publicando no seu mural 8 public void publicarNoMural(View v) { //exibe o diálogo para postar no mural do usuário facebook.dialog(this, "feed", new DialogListener() { @Override public void onFacebookError(FacebookError e) { Toast.makeText(FacebookoidActivity.this, "Erro ao postar no Facebook: " + e.getMessage(), Toast.LENGTH_LONG).show(); } @Override public void onError(DialogError e) { Toast.makeText(FacebookoidActivity.this, "Erro ao postar no Facebook: " + e.getMessage(), Toast.LENGTH_LONG).show(); } @Override public void onComplete(Bundle values) { Toast.makeText(FacebookoidActivity.this, "Post publicado com sucesso!", Toast.LENGTH_LONG).show(); } @Override public void onCancel() { // TODO Auto-generated method stub } }); } segunda-feira, 5 de dezembro de 11
  • 18. Telas da aplicação Tela Inicial Autenticando, no 1o acesso… Postando no seu mural... segunda-feira, 5 de dezembro de 11
  • 19. Saiba mais sobre Android Site Oficial do Desenvolvedor Android d.android.com Ajude a evoluir a plataforma! source.android.com Portal Android portalandroid.org Formação Completa Android na Rede androidnarede.com.br segunda-feira, 5 de dezembro de 11
  • 20. Dúvidas, pessoal? about.me/ramonrabello tasafo.org @tasafo Muito @ramonrabello Obrigado! @androidnarede segunda-feira, 5 de dezembro de 11