Android e Facebook
O documento descreve a história do Android e do Facebook, incluindo o lançamento do Android em 2008 e as principais atualizações de versão. Ele também explica como baixar e importar o SDK do Facebook para integrar recursos do Facebook em aplicativos Android.
2. 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
3. Histórico
2003: 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
8. Plataforma
O 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
9. Plataforma
O que torna as aplicações android extremamente poderosas são as APIs
providas pela plataforma, que permitem às aplicações acessarem vários
recursos.
10. Plataforma
UI Widgets
Botões, listas, caixas de textos, etc.
android.widget.*
android.view.*
Telephony
Ligações telefônicas e envio/recebimento de SMS.
android.telephony.IPhone
android.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.*
11. Ambiente
Antes 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.
12. Emulador
Uma 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.
14. Emulador
Na 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.
17. Emulador
Na 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)
19. Criando o projeto
Passo 1 – Criando o projeto no Eclipse
Abra o Eclipse, vá até File > New > Project
Na tela que aparecer, escolha “Android Project” e clique em “Next”.
21. Criando o projeto
Apó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
22. Criando o projeto
A 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
23. Criando o projeto
Na próxima tela, é possível
configurar o ícone padrão da
aplicação.
Após preencher os campos,
clique em Next
24. Criando o projeto
A próxima tela contém as
opções da Activity a ser criada.
Após preencher os campos,
clique em Next
25. Criando o projeto
Por 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
26.
27. Download do SDK
Tudo 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.
28. Importando o SDK
Para 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.
29. Importando o SDK
Na próxima tela, selecione o diretório
onde foi salvo o SDK e clique em Finish
30. Registrando-se no facebook
Antes 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”.
32. Registrando-se no facebook
Na 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.
33. Registrando-se no facebook
Na 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.
34. Registrando-se no facebook
Para 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.
35. Registrando-se no facebook
As 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.
37. Usando o SDK
Passo 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.
38. Usando o SDK
Passo 2
O segundo passo é alterar o Manifest da aplicação da seguinte forma:
40. Usando o SDK
Passo 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);
}
41. 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();
}
}
}
});
}
44. Fontes
Criando um Aplicativo Android com Compartilhamento via Facebook
http://itweb.com.br/blogs/criando-um-aplicativo-android-com-compartilhamento-via-facebook/
Android Developers
http://developer.android.com