android e facebook - integrando sua aplicação às redes sociais

44
Android e Facebook Felipe Silveira felipesilveira.com.br

Upload: felipe-silveira

Post on 25-Dec-2014

1.098 views

Category:

Technology


1 download

DESCRIPTION

Tutorial sobre a integração do facebbok a aplicações Android. Aprenda a criar posts no facebook utilizando o SDK oficial nesta palestra ministrada na UNASP-SP

TRANSCRIPT

Page 1: Android e Facebook - Integrando sua aplicação às redes sociais

Android e Facebook

Felipe Silveirafelipesilveira.com.br

Page 2: Android e Facebook - Integrando sua aplicação às redes sociais

Android?

Sistema Operacional + Plataforma de desenvolvimento + Aplicações Padrão (SMS, Maps, Calendar...)

Código aberto (AOSP - Android Open Source Project)

Desenvolvido pelo Google e posteriormente pela Open Handset Alliance

Page 3: Android e Facebook - Integrando sua aplicação às redes sociais

Histórico2003: Andy Rubin, Rich Miner, Nick Sears e Chris White fundam a Android, Inc

2005: Google efetua a compra da Android, Inc

2007: Open Handset Alliance announced along with Android

2008 - Android 1.0 is released

Page 4: Android e Facebook - Integrando sua aplicação às redes sociais

Histórico2009 - Android 1.12009 - Android 1.5 / Cupcake2009 - Android 1.6 / Donut2009 - Android 2.0/2.1 / Eclair2010 - Android 2.2 / Froyo2010 - Android 2.3 / Gingerbread2011 - Android 3.0 / Honeycomb – Tablet-optimized2011 – Android 3.1 – USB host support2011 – Android 4.0 / Ice-Cream Sandwich – merge Gingerbread and Honeycomb222012 -Android 4.1 / Jelly Bean

Page 5: Android e Facebook - Integrando sua aplicação às redes sociais

Open Handset AllianceOpen Handset Alliance:Consórcio formado por mais de 50 empresas

Page 6: Android e Facebook - Integrando sua aplicação às redes sociais

Principais características■ Ambiente multitask

■ Suporte nativo a GSM/3G, WI-FI, Bluetooth

■ Biblioteca Multimídia

■ (Formatos MPEG4, MP3, JPG, ...)

■ Suporte a Acelerômetro/GPS/Touchscreen...

Page 7: Android e Facebook - Integrando sua aplicação às redes sociais

Plataforma

Page 8: Android e Facebook - Integrando sua aplicação às redes sociais

PlataformaO foco deste minicurso está na primeira camada citada: A camada de

Aplicações.

● Escritas em JAVA ou C/C++ usando a NDK – Native Development Kit

● Executadas sobre a DALVIK VM

● Cada aplicação é executada em um diferente processo linux

● Formadas por Activities e/ou Services

Page 9: Android e Facebook - Integrando sua aplicação às redes sociais

PlataformaO que torna as aplicações android extremamente poderosas são as APIs providas pela plataforma, que permitem às aplicações acessarem vários recursos.

Page 10: Android e Facebook - Integrando sua aplicação às redes sociais

PlataformaUI Widgets Botões, listas, caixas de textos, etc.

android.widget.* android.view.*

Telephony Ligações telefônicas e envio/recebimento de SMS.

android.telephony.IPhoneandroid.telephony.gsm.SmsManager

Camera android.hardware.CameraDevice

Web client android.webkit.WebView

HTTP org.apache.http.client.*

Database (SQLite) android.database.*

Google Maps com.google.android.maps.MapView

Location android.location.*

Multimedia android.media.*

Page 11: Android e Facebook - Integrando sua aplicação às redes sociais

AmbienteAntes de tudo, vamos precisar do Android SDK.

Para fazer o download, vá até developer.android.com/sdk e selecione a versão correta para seu sistema operacional.

Após completado o download, execute o instalador. Para que seja possível a instalação, você precisará ter o Java SDK previamente instalado.

Page 12: Android e Facebook - Integrando sua aplicação às redes sociais

EmuladorUma ferramenta muito útil para teste das aplicações é o emulador, que é parte do SDK Android.

Para usarmos o emulador, é preciso antes entender o conceito de AVD - Android Virtual Device. O AVD serve para "representar" um dispositivo real, ou seja, ele vai ter as suas características, como tamanho de tela, quantidade de memória, etc.

Dessa forma, o primeiro passo para a execução do emulador é a criação de um AVD, sobre o qual o emulador funcionará.Para isso, vamos usar o Android Virtual Devices Manager.

Page 13: Android e Facebook - Integrando sua aplicação às redes sociais

Emulador

Page 14: Android e Facebook - Integrando sua aplicação às redes sociais

EmuladorNa tela para a criação do AVD, é necessário escolher um nome, que representará o AVD, e o "target", que é versão de android que rodará nele. Só são mostradas as versões de android instaladas na máquina local pelo SDK Manager.

Também é necessário escolher o tamanho para o SD Card e o tamanho de tela. essas opções podem ficar como no screenshot a seguir.

Page 15: Android e Facebook - Integrando sua aplicação às redes sociais

Emulador

Page 16: Android e Facebook - Integrando sua aplicação às redes sociais

EmuladorDepois de criado o AVD, basta selecioná-lo na lista e clicar em "Start..."

Page 17: Android e Facebook - Integrando sua aplicação às redes sociais

EmuladorNa próxima tela, existem opções para mudar a escala da tela do emulador e para apagar os dados do usuário, gravados em uma execução anterior (Wipe user data)

Page 18: Android e Facebook - Integrando sua aplicação às redes sociais

Emulador

Page 19: Android e Facebook - Integrando sua aplicação às redes sociais

Criando o projeto

Passo 1 – Criando o projeto no Eclipse

Abra o Eclipse, vá até File > New > ProjectNa tela que aparecer, escolha “Android Project” e clique em “Next”.

Page 20: Android e Facebook - Integrando sua aplicação às redes sociais

Criando o projeto

Page 21: Android e Facebook - Integrando sua aplicação às redes sociais

Criando o projetoApós isso, irá aparecer a tela com as configurações de seu projeto android.

Nesta tela, você irá inserir o nome da sua aplicação, o package e as versões de android que ela irá suportar.

Após preencher os campos, clique em Next

Page 22: Android e Facebook - Integrando sua aplicação às redes sociais

Criando o projetoA próxima tela contém opções para criação do ícone da aplicação e a localização do projeto.

Após preencher os campos, clique em Next

Page 23: Android e Facebook - Integrando sua aplicação às redes sociais

Criando o projetoNa próxima tela, é possível configurar o ícone padrão da aplicação.

Após preencher os campos, clique em Next

Page 24: Android e Facebook - Integrando sua aplicação às redes sociais

Criando o projetoA próxima tela contém as opções da Activity a ser criada.

Após preencher os campos, clique em Next

Page 25: Android e Facebook - Integrando sua aplicação às redes sociais

Criando o projetoPor fim, a última tela do assistente de criação permite que seja alterado o nome da Activity principal da aplicação a ser criada.

Após preencher os campos, clique em Finish

Page 26: Android e Facebook - Integrando sua aplicação às redes sociais
Page 27: Android e Facebook - Integrando sua aplicação às redes sociais

Download do SDKTudo o que precisamos está na página de desenvolvedores do Facebook (https://developers.facebook.com). Logo na home do site temos três botões com as opções: iOS, Android e Internet. No nosso caso, podemos optar pela segunda opção.

Essa página contém diversas opções como o “Getting Started”, o “Technical Guides”, com guias técnicos que permitem aos desenvolvedores aprenderem de forma rápida features muito interessantes que podem ser acopladas aos seus aplicativos. Mas, o principal nesta página é o “Download the SDK”. Clique no arquivo, baixe e descompacte-o em um diretório de sua escolha.

Page 28: Android e Facebook - Integrando sua aplicação às redes sociais

Importando o SDKPara poder usar o SDK do facebook, é necessário importá-lo no eclipse.Para fazer isso, acesse o menu

File > Import

E então selecione "Existing Android Code Into Workspace" e clique em Next.

Page 29: Android e Facebook - Integrando sua aplicação às redes sociais

Importando o SDKNa próxima tela, selecione o diretório onde foi salvo o SDK e clique em Finish

Page 30: Android e Facebook - Integrando sua aplicação às redes sociais

Registrando-se no facebookAntes de começar a usar o SDK, é necessário registrar a sua aplicação a ser criada no site de desenvolvedores do facebook.

Na página de desenvolvedores, temos uma opções no menu superior

chamada de “Apps” , clique neste link e posteriormente, em “+ Criar Novo

Aplicativo”.

Page 31: Android e Facebook - Integrando sua aplicação às redes sociais

Registrando-se no facebook

Page 32: Android e Facebook - Integrando sua aplicação às redes sociais

Registrando-se no facebookNa página que o leitor visualizar, já temos as informações de AppId e AppSecret criadas, além de outras informações básicas. Para nosso caso Android, é importante descer a página um pouco, até chegar em “Selecione o modo como seu aplicativo se integra com o Facebook”. Escolha a opção “Native Android App”.

Ao checar esta opção, nos deparamos com cinco campos, dos quais precisamos preencher somente os três primeiros.

Page 33: Android e Facebook - Integrando sua aplicação às redes sociais

Registrando-se no facebookNa página que o leitor visualizar, já temos as informações de AppId e AppSecret criadas, além de outras informações básicas. Para nosso caso Android, é importante descer a página um pouco, até chegar em “Selecione o modo como seu aplicativo se integra com o Facebook”. Escolha a opção “Native Android App”.

Ao checar esta opção, nos deparamos com cinco campos, dos quais precisamos preencher somente os três primeiros.

Page 34: Android e Facebook - Integrando sua aplicação às redes sociais

Registrando-se no facebookPara termos o Key Hash em mãos precisamos usar três linhas de comando. A primeira

chamando o keyTool, que está presente na pasta bin do diretório de instalação do JDK.

keytool -exportcert -alias androiddebugkey -keystore /Users/felipesilveira/.

android/debug.keystore > ~/Desktop/cert

O –alias sempre será androiddebugkey porque estamos exportando o certificado da

chave de debug usado pelo Android SDK. Esta chave está geralmente (no caso do

Window) em C:/Users/NOME_USUARIO/.android/debug.keystore. Passamos essa

localização no –keystore. A senha que será solicitada será android.

Page 35: Android e Facebook - Integrando sua aplicação às redes sociais

Registrando-se no facebookAs próximas duas linhas de comandos podem ser usadas em qualquer programa baixado de OpenSSL.

openssl sha1 -binary -out cert_out cert openssl base64 -out certBase64 -in cert_out

O arquivo gerado (certBase64) contém a keyhash que deve ser cadastrada no portal do facebook, como na figura a seguir.

Page 36: Android e Facebook - Integrando sua aplicação às redes sociais

Registrando-se no facebook

Page 37: Android e Facebook - Integrando sua aplicação às redes sociais

Usando o SDKPasso 1

Para usar o SDK, o primeiro passo a fazer é associar o Facebook SDK ao nosso projeto. Clique com o botão direito nas propriedades do projeto, em Android temos a parte de referência na parte inferior da janela. Clique em Add e escolha o FacebookSDK.

Page 38: Android e Facebook - Integrando sua aplicação às redes sociais

Usando o SDKPasso 2

O segundo passo é alterar o Manifest da aplicação da seguinte forma:

Page 39: Android e Facebook - Integrando sua aplicação às redes sociais

Usando o SDK<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloworld" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />

<uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.helloworld.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="1448222098736888"/> <activity android:name="com.facebook.LoginActivity"></activity></application> </manifest>

Page 40: Android e Facebook - Integrando sua aplicação às redes sociais

Usando o SDKPasso 3

O terceiro passo é alterar a MainActivity. Os seguintes métodos devem ser adicionados:

@Override

public void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);

}

Page 41: Android e Facebook - Integrando sua aplicação às redes sociais

Usando o SDK public void postToFacebook(){ Session.openActiveSession(this, true, new Session.StatusCallback() { public void call(Session session, SessionState state, Exception exception) { if (session.isOpened()) { if (hasPublishPermission()) { Request.executeStatusUpdateRequestAsync(session, "Teste UNASP", new Request.Callback() { public void onCompleted(Response response) { if (response.getError() == null) { CharSequence text = "Mensagem postada com sucesso!"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(MainActivity.this, text, duration); toast.show(); } else { CharSequence text = "Ocorreu um erro."; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(MainActivity.this, text, duration); toast.show(); } } }); } else { requirePermission(); } } } }); }

Page 42: Android e Facebook - Integrando sua aplicação às redes sociais

Usando o SDKprivate void requirePermission() {

Session session = Session.getActiveSession();

Session.NewPermissionsRequest newPermissionsRequest = new Session .NewPermissionsRequest(this, Arrays.asList("publish_actions")); session.requestNewPublishPermissions(newPermissionsRequest);

}

private boolean hasPublishPermission() {Session session = Session.getActiveSession();return session != null && session.getPermissions().contains("publish_actions");

}

Page 43: Android e Facebook - Integrando sua aplicação às redes sociais

Dúvidas?

Page 44: Android e Facebook - Integrando sua aplicação às redes sociais

FontesCriando um Aplicativo Android com Compartilhamento via Facebookhttp://itweb.com.br/blogs/criando-um-aplicativo-android-com-compartilhamento-via-facebook/

Android Developershttp://developer.android.com