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

Post on 25-Dec-2014

1.099 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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

Android e Facebook

Felipe Silveirafelipesilveira.com.br

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

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

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

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

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...

Plataforma

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

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.

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.*

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.

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.

Emulador

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.

Emulador

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

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)

Emulador

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”.

Criando o projeto

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

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

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

Após preencher os campos, clique em Next

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

Após preencher os campos, clique em Next

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

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.

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.

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

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”.

Registrando-se no facebook

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.

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.

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.

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.

Registrando-se no facebook

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.

Usando o SDKPasso 2

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

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>

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);

}

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(); } } } }); }

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");

}

Dúvidas?

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

top related