Android Facebook-integrasjon Tutorial

Android kan søknaden din til å koble til facebook og dele data eller noen form for oppdateringer på facebook. Dette kapitlet handler om å integrere facebook inn din søknad.

Det er to måter som du kan integrere facebook og dele noe fra programmet. Disse måtene er listet opp nedenfor −

Facebook SDK

Intent Del

Integrering Facebook SDK

Dette er den første måten å koble med facebook . Du må registrere din søknad og deretter motta noen Application Id, og da må du laste ned facebook SDK og legge den til prosjektet. Trinnene er listet nedenfor:

Generering søknad signatur

Du har til å generere en toneart, men før du genererer det, sørg for at du har SSL installert, ellers må du laste ned SSL. Den kan lastes ned her.

Nå åpne ledeteksten og omdirigere til din java jre mappe. Når du kommer dit, skriver denne kommandoen nøyaktig. Du må erstatte banen i anførselstegn med keystore bane som du kan finnes i eclipse ved å velge fanen vinduet og velge fanen innstillinger og deretter velge build alternativ under android fra venstre side.
Keytool -exportcert -alias androiddebugkey -keystore "din vei" | openssl sha1 -binary | OpenSSL base64

Når du skriver det, vil du bli spørsmål om passord. Gi android som passord og deretter kopiere nøkkelen som er gitt til deg. Det er vist på bildet nedenfor −

Registrere din søknad

Nå opprette en ny facebook applikasjon på developers.facebook.com/apps og fylle all informasjon. Det er vist nedenfor −

Nå flytter til den opprinnelige android app-delen og fyll i prosjektet og klassenavnet og lim den hash som du kopierte i trinn 1. Det er vist nedenfor −

Hvis alt fungerer fint, vil du motta en søknad ID med hemmeligheten. Bare kopier søknaden id og lagre den et sted. Det er vist på bildet nedenfor −

Laste ned SDK og integrere det

Last ned facebook SDK her. Importere dette inn formørkelse. Når importert, høyreklikk på facebook prosjektet og klikk på properties.Click på android, klikk på knappen Legg til og velg facebook SDK som project.Click ok.

Opprette facebook login søknad

Når alt er ferdig, kan du kjøre prøvene, som følger med SDK eller lage ditt eget program. For å logge inn, må du ringe openActiveSession
metode og implementerer sin tilbakeringing. Syntaksen er gitt nedenfor −
//Start Facebook LoginSession.openActiveSession (dette er sant, ny Session.StatusCallback () {//tilbakeringing når økten endringer oppgi public void samtale (Session sesjon, SessionState staten, Exception unntak) { if (session.isOpened ()) {//gjør forespørsel til;. 2 den /meg API Request.executeMeRequestAsync (session, ny Request GraphUserCallback () {//tilbakeringing etter Graph API respons med brukerobjektOverride public void onCompleted (GraphUser bruker, Response respons) {if (user = null) {TextView velkommen = (TextView) findViewById (R.id.welcome);! welcome.setText ("Hello" + user.getName () +) "!";}} });}}}
Intent aksje

Intent andel brukes til å dele data mellom applikasjoner I denne strategien, vil vi ikke håndtere SDK ting, men la facebook applikasjon håndterer det.. Vi vil rett og slett kalle facebook applikasjon og bestå data å dele. På denne måten kan vi dele noe på facebook.

Android gir hensikt biblioteket for å dele data mellom aktiviteter og programmer. For å kunne bruke den som andel hensikt, må vi spesifisere hvilken type av aksje hensikt å ACTION_SEND
. Syntaksen er gitt nedenfor −
Intent shareIntent = new Intent (); shareIntent.setAction (Intent.ACTION_SEND);

Neste ting du trenger å er å definere hvilken type data å passere, og deretter sende data . Syntaksen er gitt nedenfor −
shareIntent.setType ("text /plain"); shareIntent.putExtra (Intent.EXTRA_TEXT, "Hello, fra tutorialspoint"); startActivity (Intent.createChooser (shareIntent, "Del dine tanker" ));

I tillegg til disse metoder, er det andre metoder tilgjengelige som tillater hensikt håndtering. De er listet opp nedenfor −
Sr.NoMethod & description1 addCategory (String kategori)

Denne metoden legge til en ny kategori til intensjonen.
2 createChooser (Intent målet, CharSequence tittel)

Convenience funksjon for å opprette en ACTION_CHOOSER Intent
3 getAction ()

Denne metoden hente den generelle handlingen som skal utføres, for eksempel ACTION_VIEW
4 getCategories ()

Denne metoden returnere settet av alle kategorier i den hensikt og gjeldende skalering hendelsen
5 putExtra (String navn, int verdi)

Denne metoden legger utvidet data til intensjonen.
6 toString ()

Denne metoden returnerer en streng som inneholder en kortfattet, lesbar beskrivelse av dette objektet

Eksempel

Her er et eksempel som demonstrerer bruk av IntentShare å dele data på facebook. Det skaper en enkel applikasjon som lar deg dele noen tekst på facebook.

For å eksperimentere med dette eksempelet, du kan kjøre dette på en faktisk enhet eller i en emulator.
StepsDescription1You vil bruke Android studio for å lage en Android-applikasjon under en pakke com.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge nødvendig code.3Modify res /layout /activity_main å legge respektive XML components.4Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

Følgende er innholdet i den modifiserte hovedaktivitet filen MainActivity.java
.
pakken com.example.sairamkrishna.myapplication, import android.app.Notification, import android.app.NotificationManager, import android.app.PendingIntent, import android.content.Context, import android.content.Intent; import android. content.SharedPreferences, importere android.graphics.Typeface; import android.net.Uri, importere android.support.v7.app.ActionBarActivity, import android.os.Bundle, import android.view.Menu; import android.view.MenuItem; import android.view.View, import android.widget.Button, import android.widget.EditText, import android.widget.ImageView, import android.widget.TextView, import android.widget.Toast, import java.io.FileNotFoundException; import java.io.InputStream, import statiske java.lang.System.currentTimeMillis; public class MainActivity strekker ActionBarActivity {private Imageview img; beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); img = (Imageview) findViewById (R.id.imageView); Button b1 = (knappen) findViewById (R.id.button); b1.setOnClickListener (ny View.OnClickListener () {Override public void onClick (Vis v) {Intent sharingIntent = new Intent (Intent.ACTION_SEND); Uri screenshotUri = Uri.parse ("android.resource: //comexample.sairamkrishna. myapplication /* "); try {Input stream = getContentResolver () openInputStream (screenshotUri);.} catch (FileNotFoundException e) {//TODO Auto-generert catch-blokken e.printStackTrace ();} sharingIntent.setType (" image /jpeg "); sharingIntent.putExtra (Intent.EXTRA_STREAM, screenshotUri); startActivity (Intent.createChooser (sharingIntent," Del bildet ved hjelp av "));}}); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

Følgende er endret innholdet i xml res /layout /activity_main.xml
< RelativeLayout xmlns:. android = "http://schemas.android.com/apk/res /Android "xmlns: verktøy =" http://schemas.android.com/tools "android: layout_width =" match_parent "android: layout_height =" match_parent "android: paddingLeft =" @ dimen /activity_horizontal_margin "android: paddingRight =" @ dimen /activity_horizontal_margin "android: paddingTop =" @ dimen /activity_vertical_margin "android: paddingBottom =" @ dimen /activity_vertical_margin "verktøy: kontekst =" MainActivity ">. < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /textView" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true" android: Tekststørrelse = "30dp" android : text = "Facebook share" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Guider Point" android: id = "+ id /textView2" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" android: Tekststørrelse = "35dp" android: textcolor = "# ff16ff01" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: layout_below = "+ id /textView2" android: layout_centerHorizontal = "true" android: src = "@ teikne /logo" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Share" android: id = "+ id /knapp" android: layout_marginTop = "61dp" android: layout_below = "+ id /bildeVis "android: layout_centerHorizontal =" true "/> < /RelativeLayout >

Følgende er innholdet av AndroidManifest.xml
fil
. <? xml version = "1.0" encoding = "utf-8" >? < manifest xmlns : android = "http://schemas.android.com/apk/res/android" pakken = "com.example.sairamkrishna.myapplication" > < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon.

Velg den mobile enheten som et alternativ, og deretter sjekke den mobile enheten som vil vise din standard skjerm og minus;

Nå bare trykke på knappen og du vil se en liste over aksje tilbydere

Nå bare velge facebook fra den listen, og skriv deretter en melding.. Det er vist på bildet nedenfor −