TecnoAndroid
  • News
  • Android
  • Scienza e Tech
  • Recensioni
  • Gaming
  • Curiosità
  • IA
  • Motori
  • Offerte
  • Telco
  • TV
  • Contatti
TecnoAndroid
  • News
  • Android
  • Scienza e Tech
  • Recensioni
  • Gaming
  • Curiosità
  • IA
  • Motori
  • Offerte
  • Telco
  • TV
TecnoAndroid
TecnoAndroid
  • TecnoAndroid – News e Recensioni Tech
  • Recensioni
  • Scienza e Tecnologia
  • Curiosità
  • Intelligenza Artificiale
  • News
  • Offerte
  • Operatori Telefonici
Copyright 2021 - All Right Reserved
Home Android
AndroidApplicazioni

[Programmazione] Integrare Facebook nella nostra applicazione!

scritto da Redazione 20/07/2013 0 commenti 3 Minuti lettura
Condividi FacebookTwitterLinkedinWhatsappTelegram
29

I social network oramai governano anche sulle app, una app di successo, lo è solo se riesce ad espandersi anche sui social tra i nostri amici, quindi, come fare per integrare il più famoso social network nella nostra applicazione semplicemente?

TecnoAndroid · su Google

Seguici su Google e non perdere nulla

Aggiungi TecnoAndroid alle tue fonti preferite su Discover e segui il nostro profilo Google: le notizie tech più importanti arrivano direttamente sul tuo telefono.

Seguici su:DiscoverGoogleGoogle NewsTelegram

Facebook ovviamente mette a disposizione una SDK ufficiale, la quale però, è molto pesante, difficile da implementare, e molto molto limitativa, per questo ci sono alcuni ragazzi, che hanno sviluppato una SDK non ufficiale, che fa seria invidia alla sdk ufficiale!

Sul sito della SDK, ovverosia QUI è possibile scaricare tali librerie, del peso di pochi kb, ma anche degli esempi.
Purtroppo, gli esempi presenti sul web sono ottimizzati per vecchie versioni di Android, quindi non c’è più possibilità di implementare tali librerie dalla 4.0 in poi, senza modificare tali esempi, o inserire permessi speciali nella Activity, ma tali permessi non sono globalmente accettati, spesso causando un NetworkOnThreadMainException! Ossia l’uso non consentito di un’operazione “network” sul main.

L’esempio più semplice trovato per il web è questo:


package facebook;

import com.easy.facebook.android.apicall.GraphApi;
import com.easy.facebook.android.data.User;
import com.easy.facebook.android.error.EasyFacebookError;
import com.easy.facebook.android.facebook.FBLoginManager;
import com.easy.facebook.android.facebook.Facebook;
import com.easy.facebook.android.facebook.LoginListener;
import com.example.tecnoandroid.R;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;

public class KodeFunFBAppActivity extends Activity implements LoginListener {
/** Called when the activity is first created. */

private FBLoginManager fbLoginManager;

//replace it with your own Facebook App ID
public final String KODEFUNFBAPP_ID = "ID_APPLICAZIONE_FACEBOOK";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
connectToFacebook();
}

public void connectToFacebook(){

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

//read about Facebook Permissions here:
//https://developers.facebook.com/docs/reference/api/permissions/
String permissions[] = {
"user_about_me",
"user_activities",
"user_birthday",
"user_checkins",
"user_education_history",
"user_events",
"user_groups",
"user_hometown",
"user_interests",
"user_likes",
"user_location",
"user_notes",
"user_online_presence",
"user_photo_video_tags",
"user_photos",
"user_relationships",
"user_relationship_details",
"user_religion_politics",
"user_status",
"user_videos",
"user_website",
"user_work_history",
"email",

"read_friendlists",
"read_insights",
"read_mailbox",
"read_requests",
"read_stream",
"xmpp_login",
"ads_management",
"create_event",
"manage_friendlists",
"manage_notifications",
"offline_access",
"publish_checkins",
"publish_stream",
"rsvp_event",
"sms",
//"publish_actions",

"manage_pages"

};

fbLoginManager = new FBLoginManager(this,
R.layout.activity_anteprima,
KODEFUNFBAPP_ID,
permissions);

if(fbLoginManager.existsSavedFacebook()){
fbLoginManager.loadFacebook();
}
else{
fbLoginManager.login();
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, android.content.Intent data){
if(data!=null)
fbLoginManager.loginSuccess(data);
else
finish();
}

public void loginSuccess(Facebook facebook) {
GraphApi graphApi = new GraphApi(facebook);

User user = new User();

try{
user = graphApi.getMyAccountInfo();

Intent i=getIntent();

graphApi.setStatus(
i.getStringExtra("messaggio"),
);

} catch(EasyFacebookError e){
Log.d("TAG: ", e.toString());
}

fbLoginManager.displayToast("Hey, " + user.getFirst_name() + "! Login success!");
finish();
}

public void logoutSuccess() {
fbLoginManager.displayToast("Logout Success!");
finish();
}

public void loginFail() {
fbLoginManager.displayToast("Login Failed!");
finish();
}

private String url;
}

Modifichiamo per evitare l’eccezione:


public class KodeFunFBAppActivity extends Activity implements LoginListener {
/** Called when the activity is first created. */

private FBLoginManager fbLoginManager;

//replace it with your own Facebook App ID
public final String KODEFUNFBAPP_ID = "ID_APPLICAZIONE_FACEBOOK";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
connectToFacebook();
}

public void connectToFacebook(){

//read about Facebook Permissions here:
//https://developers.facebook.com/docs/reference/api/permissions/
String permissions[] = {
"user_about_me",
"user_activities",
"user_birthday",
"user_checkins",
"user_education_history",
"user_events",
"user_groups",
"user_hometown",
"user_interests",
"user_likes",
"user_location",
"user_notes",
"user_online_presence",
"user_photo_video_tags",
"user_photos",
"user_relationships",
"user_relationship_details",
"user_religion_politics",
"user_status",
"user_videos",
"user_website",
"user_work_history",
"email",

"read_friendlists",
"read_insights",
"read_mailbox",
"read_requests",
"read_stream",
"xmpp_login",
"ads_management",
"create_event",
"manage_friendlists",
"manage_notifications",
"offline_access",
"publish_checkins",
"publish_stream",
"rsvp_event",
"sms",
"publish_actions",
"manage_pages"

};

fbLoginManager = new FBLoginManager(this,
R.layout.activity_anteprima,
KODEFUNFBAPP_ID,
permissions);

if(fbLoginManager.existsSavedFacebook()){
fbLoginManager.loadFacebook();
}
else{
fbLoginManager.login();
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, android.content.Intent data){
if(data!=null)
fbLoginManager.loginSuccess(data);
else
finish();
}

private GraphApi graphApi;
private User user;

public void loginSuccess(Facebook facebook) {
graphApi = new GraphApi(facebook);

user = new User();

SetStatus ss=new SetStatus();
ss.execute();
}

class SetStatus extends AsyncTask{

@Override
public void onPostExecute(Object a){
fbLoginManager.displayToast("Hey, " + user.getFirst_name() +"! Login success!");
finish();
}
@Override
protected Object doInBackground(Object... arg0) {
try{
user = graphApi.getMyAccountInfo();

Intent i=getIntent();

graphApi.setStatus(
i.getStringExtra("messaggio"),

);

} catch(EasyFacebookError e){
Log.d("TAG: ", e.toString());
}
return null;
}

}
public void logoutSuccess() {
fbLoginManager.displayToast("Logout Success!");
finish();
}

public void loginFail() {
fbLoginManager.displayToast("Login Failed!");
finish();
}
private String url;
}

Ci basterà semplicemente inserire o adattare a noi, questa classe, e facebook sarà correttamente integrato nella nostra applicazione.
L’esempio mostra solo come settare uno stato, ma ovviamente guardando le varie documentazioni, sarà possibile aggiungere moltissime altre funzioni! Tutte ovviamente seguendo la struttura del codice, per evitare errori!

app androidfacebookfacebook androidprogrammazione
Condividi FacebookTwitterLinkedinWhatsappTelegram
Redazione
Redazione

Articolo precedenti
[rumors] Samsung ed FBI: un accordo per sostituire i BlackBerry in dotazione con dei Galaxy?
prossimo articolo
Sony sta preparando ad una fotocamera esterna per i suoi dispositivi?

Lascia un commento Cancella Risposta

Salva il mio nome, email e sito web in questo browser per la prossima volta che commento.

Ultime news

  • Godless: la miniserie western su Netflix che tutti stanno ignorando

    13/05/2026
  • Gli Anelli del Potere 3: quando esce la nuova stagione

    13/05/2026
  • Einstein: il suo cervello fu rubato e conservato in un barattolo di maionese

    13/05/2026
  • Buchi neri ultramassivi: la coppia più grande mai scoperta ha svuotato una galassia

    13/05/2026
  • Forza Horizon 6 leakato online: Microsoft promette ban molto severi

    13/05/2026

2012 – 2026 Tecnoandroid.it – Gestito dalla STARGATE SRLS – P.Iva: 15525681001 Testata telematica quotidiana registrata al Tribunale di Roma CON DECRETO N° 225/2015, editore STARGATE SRLS. Tutti i marchi riportati appartengono ai legittimi proprietari.

Questo articolo potrebbe includere collegamenti affiliati: eventuali acquisti o ordini realizzati attraverso questi link contribuiranno a fornire una commissione al nostro sito.

  • Privacy e Cookie policy
  • FAQ, Disclaimer e Note legali
  • Contatti

🔥 Non perderti nemmeno un'offerta

Le migliori offerte
direttamente su di te

Smartphone, notebook, gadget tech al prezzo più basso.
Unisciti a migliaia di lettori di TecnoAndroid!

Unisciti su Telegram Gratis Seguici su WhatsApp Nuovo
oppure

Ricevi le offerte via email

Iscriviti alla newsletter per non perdere nessuna offerta!

Puoi disiscriverti in qualsiasi momento. Niente spam, solo offerte vere. 🎯

TecnoAndroid
  • Home