Criando Apps Sociais em Android
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Criando Apps Sociais em Android

  • 3,130 views
Uploaded on

Apresentado durante o #tasafoemacao #mobile no Pólo de Ciência e Tecnologia Guamá, no dia 27 de Março.

Apresentado durante o #tasafoemacao #mobile no Pólo de Ciência e Tecnologia Guamá, no dia 27 de Março.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,130
On Slideshare
3,115
From Embeds
15
Number of Embeds
2

Actions

Shares
Downloads
59
Comments
0
Likes
5

Embeds 15

http://palestrascoletivas.com 13
https://twitter.com 2

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Criando Apps Sociais em Android @ramonrabello @androidnaredequinta-feira, 28 de março de 13
  • 2. Mas antes, “um pouco” de Android... É uma padrão desenvolvimento móvel aberto. em Java 5+. Utiliza IDE e SDK kernel linux. completos. recursos e telas fortemente criados em XML. documentado. promove boas Otimizado para a práticas e máquina virtual padrões de projeto. Dalvik.quinta-feira, 28 de março de 13
  • 3. O framework Android Bibliotecas que fazem parte do Kernel Linuxquinta-feira, 28 de março de 13
  • 4. O framework Android Implementação em C/C++ das bibliotecas essenciais da plataforma e para a máquina virtual Dalvikquinta-feira, 28 de março de 13
  • 5. O framework Android Serviços que a plataforma disponibiliza, por meio de gerenciadores para não ser necessário “reinventar a roda”quinta-feira, 28 de março de 13
  • 6. O framework Android Aplicativos desenvolvidos em Androidquinta-feira, 28 de março de 13
  • 7. Por que socializar sua app? Quase todo mundo hoje em dia tem uma rede social (Twitter, Facebook, Google+) As redes sociais são uma das melhores formas de compartilhar informações Se sua app tiver integrada com rede social, o alcance será muito maiorquinta-feira, 28 de março de 13
  • 8. O que preciso para socializar uma app? Sua app precisa ser integrada com alguma API de rede social Utilizar as Intents Implícitas para que o usuário possa usufruir dos serviços de compartilhamento Dedicar uma área da sua app (ex: item da Action Bar) para compartilhamentoquinta-feira, 28 de março de 13
  • 9. O padrão Open Authentication (OAuth) É um protocolo aberto Permite autorização segura de forma simples e padronizada para aplicações web, móveis e desktop Utilizado pelas principais redes sociais: Twitter, Facebook, Google+, etc autenticação facilitada: credenciais de acesso são informadas uma única vez por sessãoquinta-feira, 28 de março de 13
  • 10. Integrando sua app com o Facebook: Aprendendo como integrar a sua app social com o Facebookquinta-feira, 28 de março de 13
  • 11. Registrando uma app no Facebook Acesse https://developers.facebook.com/apps e registre uma nova app.quinta-feira, 28 de março de 13
  • 12. Registrando uma app no Facebook Preencha as informações para a sua app. Depois, Anote o App ID gerado, pois você irá utilizá-lo futuramente na sua app.quinta-feira, 28 de março de 13
  • 13. Configurando o Facebook SDK para Android Baixar o e descompactar o SDK do Facebook para Android em https:// developers.facebook.com/ android/downloads/quinta-feira, 28 de março de 13
  • 14. Configurando o Facebook SDK para Android Para que a integração funcione no emulador, será necessário ter instalado o Facebook para Android. Ela já vem no SDK do Facebook, na pasta bin/. Caso esteja executando a app direto no dispositivo, basta fazer download da app do Facebook para Android em https://play.google.com/store/apps/details? id=com.facebook.katana. Baixar o e descompactar o SDK do Facebook para Android em https:// developers.facebook.com/android/.quinta-feira, 28 de março de 13
  • 15. Importando o Facebook SDK no Eclipse Agora, basta importar o facebook_sdk no Eclipse, indo em File > Import… General > Existing Projects into Workspace e clique em Next.quinta-feira, 28 de março de 13
  • 16. Importando o Facebook SDK no Eclipse Deixe Select root directory selecionado, clique em Browse... e navegue até a pasta raiz onde você descompactou o Facebook SDK. Você deve visualizar um novo projeto na lista, com o nome FacebookSDK. Clique em Finish para concluir a importação do Facebook SDK dentro do Eclipse.quinta-feira, 28 de março de 13
  • 17. Criando um projeto novo em Android Crie um novo projeto Android, em File > New > Project… > Android Application Project. Configure o seu projeto com as informações necessárias e, para concluir, clique em Finish.quinta-feira, 28 de março de 13
  • 18. Registrando o pacote da Activity no Facebook Volte para o App Dashboard na página do Facebook Developers. Adicione o pacote e o nome (ambos totalmente qualificado) de sua Activity e habilite Facebook login. Para gerar o Key Hash, utilize esse comando no console: keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64quinta-feira, 28 de março de 13
  • 19. Vinculando o Facebook SDK no projeto No Eclipse, selecione o projeto > File > Properties. Na tela de propriedades, do lado esquerdo, selecione Android. Depois, na seção Library, na parte inferior direita, clique em Add… e selecione FacebookSDK.quinta-feira, 28 de março de 13
  • 20. Configurando a App ID no seu projeto Para configurar a App ID, abra o arquivo strings.xml na pasta res/ values. Adicione a string app_id, com o App ID obtido durante o registro de sua app no Facebook. Se você abrir o arquivo strings.xml, como texto (aba strings.xml), você deve ver isso: <string name="app_id">497906953566757</ string>quinta-feira, 28 de março de 13
  • 21. Configurando a App ID no seu projeto Em seguida, abra o arquivo AndroidManifest.xml e adicione a permissão android.permission.INTERNET, para que sua app possa acessar a internet.quinta-feira, 28 de março de 13
  • 22. Configurando a App ID no seu projeto Ainda no mesmo arquivo, adicione a tag <meta-data> com o nome com.facebook.sdk.ApplicationId e o conteúdo com a app_id no arquivo strings.xmlquinta-feira, 28 de março de 13
  • 23. Configurando a App ID no seu projeto Para finalizar, adicione uma nova <activity>, com o nome com.facebook.LoginActivity. Pronto! Se você perceber, seu arquivo manifesto terá essas três linhas adicionais: <uses-permission android:name="android.permission.INTERNET"/> <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/> <activity android:name="com.facebook.LoginActivity">quinta-feira, 28 de março de 13
  • 24. Comunicando com a API do Facebook Primeiro, vamos criar nossa classe de serviço que irá comunicar com a API do Facebook. Depois disso, declaramos um objeto com.facebook.Session, que representará a sessão do usuário. public class FacebookServico { private Session sessao; }quinta-feira, 28 de março de 13
  • 25. Comunicando com a API do Facebook Depois disso, declaramos uma referência para Activity, para podermos repassar para o objeto Session, via construtor. public class FacebookServico { private Activity activity; private Session sessao; public FacebookServico(Activity activity){ this.activity = activity; } }quinta-feira, 28 de março de 13
  • 26. Comunicando com a API do Facebook Agora, instanciamos o objeto Session, passando a referência para o contexto da aplicação, no caso, a Activity. public class FacebookServico { private Activity activity; private Session sessao; public FacebookServico(Activity activity){ this.activity = activity; sessao = Session.openActiveSession(activity,true,callback); } }quinta-feira, 28 de março de 13
  • 27. Comunicando com a API do Facebook Agora, utilizamos o objeto UiLifecycleHelper, um ajudante que auxilia na gerência da sessão, similar ao ciclo de vida public class FacebookServico { private Activity activity; private Session sessao; private UiLifecycleHelper uiHelper; // construtor omitido public UiLifecycleHelper getUiHelper(){ return uiHelper; } public Session getSessao(){ return sessao; } }quinta-feira, 28 de março de 13
  • 28. Comunicando com a API do Facebook Agora criamos um método auxiliar que será chamado, toda vez que houver mudança de status na sessão do usuário (ex: quando ele entrar e sair da sessão) public class FacebookServico { // variaveis e métodos private void monitorarStatusDaSessao(Session session, SessionState state, Exception exception) { if (state.isOpened()) { Log.d("FacebookService", "Logado no Facebook"); } else if (state.isClosed()) { Log.d("FacebookService", "Saiu do Facebook"); } } }quinta-feira, 28 de março de 13
  • 29. Comunicando com a API do Facebook public class FacebookServico { // variaveis e métodos private void monitorarStatusDaSessao(Session session, SessionState state, Exception exception) { Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { // se houver sessão ativa if (sessao == Session.getActiveSession()) { if (user != null) { imagemPerfil.setProfileId(user.getId()); textoSocialNome.setText(user.getName()); textoSocialUrl.setText(user.getLink()); } } A classe Request, possui if (response.getError() != null) { // Handle errors, will do so later. métodos estáticos para enviar } } requisições para o Facebook }); request.executeAsync(); retornar as relações com o } perfil do usuário, como próprio perfil, amigos, lugares, etc.quinta-feira, 28 de março de 13
  • 30. Comunicando com a API do Facebook Chamamos o método criado anteriormente, dentro do método call(), da interface Session.StatusCallback Session.StatusCallback callbackSessao = new Session.StatusCallback(){ @Override public void call(Session session, SessionState state, Exception exception) { monitorarStatusDaSessao(session, state, exception); } };quinta-feira, 28 de março de 13
  • 31. Publicando no seu mural do Facebook // package & imports Para publicar no seu mural, public class MainActivity extends FacebookActivity { devemos executar esse private void publishFeedDialog() { seguinte código... Bundle params = new Bundle(); params.putString("name", "Integração Facebook com Android na Rede"); params.putString("caption", "Testando a integração de redes sociais em aplicativos Android."); params.putString("description", "Torne sua app social integrando facilmente com o Facebook SDK para Android."); WebDialog é uma classe que params.putString("link", "https://developers.facebook.com/android"); params.putString("picture", "https://raw.github.com/fbsamples/ios-3.x-howtos/master/Images/iossdk_logo.png"); representa uma tela de WebDialog feedDialog = ( new WebDialog.FeedDialogBuilder(getActivity(), Session.getActiveSession(), diálogo no Facebook params)) .setOnCompleteListener(new OnCompleteListener() { @Override (ex: postar no mural) public void onComplete(Bundle values, FacebookException error) { // When the story is posted, echo the success and the post Id. final String postId = values.getString("post_id"); if (postId != null) { Toast.makeText(getApplicationContext(), "Sua mensagem foi publicada no seu mural.", Toast.LENGTH_SHORT).show(); finish(); } }) } } Assim que a ação for } .build(); feedDialog.show(); finalizada, o método } } onComplete() é chamado.quinta-feira, 28 de março de 13
  • 32. Publicando no seu mural do Facebook Se for a primeira vez que estiver acessando o Facebook, será necessário logar.quinta-feira, 28 de março de 13
  • 33. Publicando no seu mural do Facebook Depois disso, você terá que instalar a aplicação que registrou previamente no Developer Dashboard no Facebook.quinta-feira, 28 de março de 13
  • 34. Publicando no seu mural do Facebook Depois, basta você preencher o que deseja publicar no seu mural e clicar em Compartilhar (Share) Você pode conferir na sua própria linha de tempo, para ver que a mensagem foi publicada com sucesso. Dessa maneira, a sua app estará simplesmente integrada com o Facebook!quinta-feira, 28 de março de 13
  • 35. Quer saber mais como criar apps sociais? http://goo.gl/srT0xquinta-feira, 28 de março de 13
  • 36. Obrigado! @tasafo tasafo.org @androidnarede facebook.com/androidnarede https://plus.google.com/u/0/b/ 108790256666272382470/108790256666272382470/quinta-feira, 28 de março de 13