Android e Facebook
Transcrição
Android e Facebook
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 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
Documentos relacionados
Apresentação Engº Mário Fernandes - Siteinforma
1. Android SDK (Software Development Kit)
2. IDE (Integrated Development Environment)
o Ambiente integrado para desenvolvimento de Software;