SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Android e Facebook

Felipe Silveira
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ó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
Histórico
2009 - Android 1.1
2009 - Android 1.5 / Cupcake
2009 - Android 1.6 / Donut
2009 - Android 2.0/2.1 / Eclair
2010 - Android 2.2 / Froyo
2010 - Android 2.3 / Gingerbread
2011 - Android 3.0 / Honeycomb – Tablet-optimized
2011 – Android 3.1 – USB host support
2011 – Android 4.0 / Ice-Cream Sandwich – merge
Gingerbread and Honeycomb22
2012 -Android 4.1 / Jelly Bean
Open Handset Alliance
Open 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
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
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.
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.*
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.
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.
Emulador
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.
Emulador
Emulador
Depois de criado o AVD, basta selecioná-lo na lista e clicar em "Start..."
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)
Emulador
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”.
Criando o projeto
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
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
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
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
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
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.
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.
Importando o SDK
Na próxima tela, selecione o diretório
onde foi salvo o SDK e clique em Finish
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”.
Registrando-se no facebook
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.
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.
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.
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.
Registrando-se no facebook
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.
Usando o SDK
Passo 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 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);
}
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 SDK
private 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?
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

Mais conteúdo relacionado

Mais procurados

Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1Kalil Maciel
 
Publicacao tablet dualpixel
Publicacao tablet dualpixelPublicacao tablet dualpixel
Publicacao tablet dualpixeldualpixel
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Androidilegra
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2Kalil Maciel
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidSalvador Torres
 
Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Erisvaldo Junior
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Horacio Diamante Mondlane
 
Principais componentes para o desenvolvimento de aplicação android
Principais componentes para o desenvolvimento de aplicação androidPrincipais componentes para o desenvolvimento de aplicação android
Principais componentes para o desenvolvimento de aplicação androidcunhagronomia
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidRodolfo Faquin Della Justina
 
Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!Guilherme de Cleva Farto
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Matheus Calegaro
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 

Mais procurados (20)

Programando Android - Aula 1
Programando Android - Aula 1Programando Android - Aula 1
Programando Android - Aula 1
 
Apresentação android
Apresentação androidApresentação android
Apresentação android
 
Publicacao tablet dualpixel
Publicacao tablet dualpixelPublicacao tablet dualpixel
Publicacao tablet dualpixel
 
Introdução a programação em Android
Introdução a programação em AndroidIntrodução a programação em Android
Introdução a programação em Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 
Apostila android
Apostila androidApostila android
Apostila android
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Iniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google AndroidIniciando o Desenvolvimento para o Google Android
Iniciando o Desenvolvimento para o Google Android
 
Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1
 
Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03Apostila passo a passo como programar em android edição03
Apostila passo a passo como programar em android edição03
 
Principais componentes para o desenvolvimento de aplicação android
Principais componentes para o desenvolvimento de aplicação androidPrincipais componentes para o desenvolvimento de aplicação android
Principais componentes para o desenvolvimento de aplicação android
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 
Da introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento AndroidDa introdução à prática no desenvolvimento Android
Da introdução à prática no desenvolvimento Android
 
Projeto de design editorial digital
Projeto de design editorial digitalProjeto de design editorial digital
Projeto de design editorial digital
 
Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!Componentes customizados: Android te dá asas!
Componentes customizados: Android te dá asas!
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 
Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2Introdução ao desenvolvimento de apps para Android - Dia 2/2
Introdução ao desenvolvimento de apps para Android - Dia 2/2
 
Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 

Semelhante a Android e Facebook - Integrando sua aplicação às redes sociais

Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkReuel Lopes
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidWsdevs Desenvolvedores
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPIonic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPFabio Godoy
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidMayron Cachina
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Comunidade Tá safo!
 
Configurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento AndroidConfigurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento AndroidCalebeMiquissene
 

Semelhante a Android e Facebook - Integrando sua aplicação às redes sociais (20)

3
33
3
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Baixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdkBaixando, instalando e testando o android sdk
Baixando, instalando e testando o android sdk
 
Como montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento AndroidComo montar o ambiente de desenvolvimento Android
Como montar o ambiente de desenvolvimento Android
 
Aula maps 23_2
Aula maps 23_2Aula maps 23_2
Aula maps 23_2
 
Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
Palestra Android
Palestra AndroidPalestra Android
Palestra Android
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Introdução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para IphoneIntrodução Ao Desenvolvimento Para Iphone
Introdução Ao Desenvolvimento Para Iphone
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Ionic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APPIonic Framework - Configuração do ambiente e a criação da primeira APP
Ionic Framework - Configuração do ambiente e a criação da primeira APP
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com Android
 
Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!Criando aplicações em Android brincando de quebra-cabeça!
Criando aplicações em Android brincando de quebra-cabeça!
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apostila android
Apostila androidApostila android
Apostila android
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
Introdução ao Android
Introdução ao AndroidIntrodução ao Android
Introdução ao Android
 
Android Developing
Android DevelopingAndroid Developing
Android Developing
 
Configurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento AndroidConfigurando o ambiente para desenvolvimento Android
Configurando o ambiente para desenvolvimento Android
 

Mais de Felipe Silveira

Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Felipe Silveira
 
Android performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdadeAndroid performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdadeFelipe Silveira
 
Android Core Aula 5 - RIL (Radio Interface Layer)
Android Core Aula 5 -  RIL (Radio Interface Layer)Android Core Aula 5 -  RIL (Radio Interface Layer)
Android Core Aula 5 - RIL (Radio Interface Layer)Felipe Silveira
 
Android Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicosAndroid Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicosFelipe Silveira
 
Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)Felipe Silveira
 
Android Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidAndroid Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidFelipe Silveira
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 

Mais de Felipe Silveira (8)

Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
 
Android performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdadeAndroid performance - Construindo aplicações rápidas de verdade
Android performance - Construindo aplicações rápidas de verdade
 
Android Core Aula 5 - RIL (Radio Interface Layer)
Android Core Aula 5 -  RIL (Radio Interface Layer)Android Core Aula 5 -  RIL (Radio Interface Layer)
Android Core Aula 5 - RIL (Radio Interface Layer)
 
Android Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicosAndroid Core Aula 4 - Embarcando android em dispositivos físicos
Android Core Aula 4 - Embarcando android em dispositivos físicos
 
Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)Android Core Aula 3 - HAL (Hardware Abstraction Layer)
Android Core Aula 3 - HAL (Hardware Abstraction Layer)
 
Android Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema AndroidAndroid Core Aula 2: Inicialização de um sistema Android
Android Core Aula 2: Inicialização de um sistema Android
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Desenvolvimento Android
Desenvolvimento AndroidDesenvolvimento Android
Desenvolvimento Android
 

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

  • 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
  • 4. Histórico 2009 - Android 1.1 2009 - Android 1.5 / Cupcake 2009 - Android 1.6 / Donut 2009 - Android 2.0/2.1 / Eclair 2010 - Android 2.2 / Froyo 2010 - Android 2.3 / Gingerbread 2011 - Android 3.0 / Honeycomb – Tablet-optimized 2011 – Android 3.1 – USB host support 2011 – Android 4.0 / Ice-Cream Sandwich – merge Gingerbread and Honeycomb22 2012 -Android 4.1 / Jelly Bean
  • 5. Open Handset Alliance Open Handset Alliance: Consórcio formado por mais de 50 empresas
  • 6. 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...
  • 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.
  • 16. Emulador Depois de criado o AVD, basta selecioná-lo na lista e clicar em "Start..."
  • 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:
  • 39. 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>
  • 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(); } } } }); }
  • 42. Usando o SDK private 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"); }
  • 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