سلام دوستان گرامی ، حالتون خوبه؟ با اموزش فیس بوک در اندروید در خدمت شما هستم.اندروید به شما اجازه می دهد تا به فیس بوک متصل شده و هرگونه داده یا آپدیتی را روی فیس بوک به اشتراک بگذارید. این فصل در مورد کامل سازی فیس بوک روی برنامه ی شما می باشد.

دو روش وجود دارند که از طریق آنها می توان فیس بوک را کامل کرده و چیزی را روی برنامه ی خود به اشتراک بگذارید. این دو روش عبارتند از

۱) Facebook SDK

۲) Intent Share

کامل کردن Facebook SDK

این اولین روش برای اتصال به فیس بوک می باشد. شما باید برنامه ی خود را ثبت کرده و سپس چند Application id دریافت کنید و سپس Facebook SDK را دانلود کنید و آن را به پروژه ی خود اضافه کنید. مراحل مربوط به آن در زیر ارائه شده اند .

تولید مشخصه های برنامه

شما باید یک مشخصه ی اصلی تولید کنید، اما قبل از تولید آن مطمئن شوید که SSL را نصب کرده اید، در غیر اینصورت ابتدا باید SSL را دانلود کنید.

اکنون پیام واره ی فرمان را باز کرده و دوباره به سمت فولدر java jre بروید. زمانی که به این فولدر می رسید این فرمان را به طور دقیق تایپ کنید. شما باید مسیر را با مسیر keystore در داخل کاماهای معکوس جایگزین کنید. مسیر keystore را می توانید در eclipse با انتخاب تب window و سپس انتخاب مراجع و سپس انتخاب گزینه ی build زبر android در قسمت چپ، پیدا کنید.

keytool -exportcert -alias androiddebugkey -keystore “your ‎path” | openssl sha1 -binary | openssl base64

زمانی که آن را وارد می کنید به مرحله ی پسوورد پیش خواهید رفت. Android را به عنوان پسوورد وارد کنید و سپس کلیدی که به شما داده می شود را کپی کنید، که در تصویر زیر ارائه شده است .

ثبت برنامه

اکنون یک برنامه ی فیس بوک جدید در developers.facebook.com/apps وارد کنید و تمام اطلاعات را وارد کنید که در تصویر زیر نشان داده شده است .

اکنون وارد برنامه ی داخلی اندروید شده، اطلاعات مربوط به پروژه و نام گروه را پر کرده و آنچه را که در مرحله ی اول کپی کرده بودید در اینجا پیست کنید. همان طور که در تصویر نشان داده شده است .

اگر همه چیز به خوبی پیش برود، یک ID برنامه با رمز دریافت خواهید کرد، تنها کافیست این id را کپی کرده و در جایی ذخیره کنید. در تصویر زیر شما می توانید مشاهده کنید .

دانلود SDK و کامل کردن آن

Facebook SDK را دانلود کرده و آن را وارد eclipse کنید. زمانی که وارد شد، روی پروژه ی فیس بوک خود راست کلیک کنید و روی دکمه ی add کلیک کنید، facebook SDK را به عنوان پروژه انتخاب کرده و روی OK کلیک کنید.

برنامه ورود به فیس بوک ایجاد شده

زمانی که همه چیز کامل باشد، می توانید نمونه هایی را اجرا کنید که با SDK می آیند و یا خودتان برنامه ای ایجاد کنید. برای ورود لازم است که روش openActiveSession را فراخوانده و callback آن را اجرا کنید. ترکیب آن در زیر ارائه شده است .

// start Facebook Login

Session.openActiveSession(this, true, new ‎Session.StatusCallback() {‎

‎// callback when session changes state‎

‎ public void call(Session session, SessionState state, ‎Exception exception) ‎

‎ {‎
‎ if (session.isOpened()) {‎

‎ // make request to;2 the /me API

‎ Request.executeMeRequestAsync(session, new Request.‎

‎ GraphUserCallback() {‎

‎ // callback after Graph API response with user ‎object

‎ @Override

‎ public void onCompleted(GraphUser user, Response ‎response) {‎

‎ if (user != null) {‎

‎ TextView welcome = (TextView) ‎findViewById(R.id.welcome);‎

‎ welcome.setText(“Hello ” + user.getName() + ‎‎”!”);‎

‎ }‎
‎ }‎
‎ });‎
‎ }‎
‎}

اشتراک گذاری Intent

اشتراک گذاری Intent برای اشتراک گذاری داده بین برنامه ها استفاده می شود. در این استراتژی ما به موضوع SDK نمی پردازیم بلکه به برنامه ی فیس بوک اجازه می دهیم تا به آن رسیدگی کند. به سادگی برنامه ی فیس بوک را فراخوانده و داده را وارد می کنیم تا به اشتراک بگذارد. از این طریق می توان چیزی روی فیس بوک به اشتراک گذاشت.

اندروید کتابخانه ی Intent ارائه می دهد تا داده ها بین فعالیت ها و برنامه ها به اشتراک گذاشته شوند. برای استفاده از آن به عنوان share intent باید نوع share intent را برای ACTION_SEND مشخص کنیم. ترکیب آن در زیر ارائه شده است.

Intent shareIntent = new Intent();‎

shareIntent.setAction(Intent.ACTION_SEND);

کار دیگری که لازم است انجام دهید تعریف نوع داده برای انتقال می باشد و سپس داده را منتقل کنید. ترکیب آن مانند زیر می باشد.

shareIntent.setType(“text/plain”);‎

shareIntent.putExtra(Intent.EXTRA_TEXT, “Hello, from ‎tutorialspoint”);‎

startActivity(Intent.createChooser(shareIntent, “Share your ‎thoughts”));

علاوه براین روش ها، روش های دیگری برای رسیدگی به intent وجود دارند که در زیر ارائه شده اند.

ردیف

متد ها و توضیحات

۱

addCategory(String category)

این روش یک مولفه ی جدید به intent اضافه می کند.

۲

createChooser(Intent target, CharSequence title)

عملکرد راحت برای ایجاد ACTION_CHOOSER Intent

۳

getAction()

این روش فعالیت کلی که باید انجام شود، مانند ACTION_VIEW را بازیابی می کند.

۴

getCategories()

این روش مجموعه ی همه ی مولفه های intent.nt و رویدادهای مقیاس گذاری اخیر را بازمی گرداند.

۵

putExtra(String name, int value)

این روش داده های گسترده به intent اضافه می کند.

۶

toString()

این روش رشته ای شامل یک توصیف واضح و خوانا از این آبجکت را باز می گرداند.

مثال

در اینجا مثالی را می بینید که استفاده از IntentShare را برای اشتراک گذاری داده روی فیس بوک توضیح می دهد. این مثال یک برنامه ی پایه ایجاد می کند که به شما اجازه ی به اشتراک گذاری متن روی فیس بوک را می دهد.

برای آزمایش با این مثال می توانید آن را روی یک دستگاه واقعی یا یک مقلد اجرا کنید.

مراحل

توضیحات

۱

برای ایجاد یک برنامه ی اندروید از Eclipse IDE استفاده خواهید کرد و آن را با عنوان IntentShare تحت بسته ی com.example. intentShare نام گذاری کنید. زمان ایجاد این برنامه مطمئن شوید که Target SDK و Compile With در آخرین ورژن Android SDK هستند تا از سطوح بالاتر API استفاده کنید.

۲

فایل src/MainActivity.java را برای افزودن کد لازم تغییر دهید.

۳

res/layout/activity_main را برای افزودن مولفه های XML تغییر هید.

۴

res/values/string.xml را برای افزودن مولفه های رشته ی لازم تغییر دهید.

۵

برنامه را اجرا کرده و یک دستگاه اجرایی اندروید انتخاب کنید و برنامه را روی آن نصب کنید، سپس نتایج را بررسی کنید.

در زیر محتوای تغییر یافته ی فایل فعالیت اصلی را مشاهده می کنید.

‎src/com.example.intentshare/MainActivity.java. ‎

package com.example.intentshare;‎

import java.io.File;‎

import java.io.FileOutputStream;‎

import com.example.intentshare.R;‎

import android.app.Activity;‎

import android.content.DialogInterface;‎

import android.content.DialogInterface.OnClickListener;‎

import android.content.Intent;‎

import android.net.Uri;‎

import android.os.Bundle;‎

import android.os.Environment;‎

import android.view.Menu;‎

import android.view.View;‎

import android.widget.ImageView;‎

import android.widget.Toast;‎

public class MainActivity extends Activity {‎

‎ private ImageView img;‎

‎ @Override

‎ protected void onCreate(Bundle savedInstanceState) {‎

‎ super.onCreate(savedInstanceState);‎

‎ setContentView(R.layout.activity_main);‎

‎ img = (ImageView) findViewById(R.id.imageView1);‎

‎ }‎

‎ @Override

‎ public boolean onCreateOptionsMenu(Menu menu) {‎

‎ // Inflate the menu; this adds items to the action bar ‎if it is present.‎

‎ getMenuInflater().inflate(R.menu.main, menu);‎

‎ return true;‎

‎ }‎

‎ public void open(View view){‎

‎ Intent shareIntent = new Intent();‎

‎ shareIntent.setAction(Intent.ACTION_SEND);‎

‎ shareIntent.setType(“text/plain”);‎

‎ shareIntent.putExtra(Intent.EXTRA_TEXT, “Hello, from ‎tutorialspoint”);‎

‎ startActivity(Intent.createChooser(shareIntent, “Share ‎your thoughts”));‎

‎ }‎

‎}

در زیر محتوای تغییر یافته ی xml مربوط به res/layout/activity_main.xml را مشاهده می کنید.

‎ ‎

‎ ‎

در زیر محتوای res/values/string.xml را مشاهده می کنید.

‎ IntentShare‎

‎ Settings‎

‎ Hello world!‎

‎ Tap the button to share ‎something‎

در زیر محتوای فایل AndroidManifest.xml را مشاهده می کنید.

‎‎‎

‎ ‎

‎ ‎

‎ ‎

‎ ‎

‎ ‎

‎‎

اجازه بدهید برنامه ی IntentShare را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run از تولبار کلیک کنید. قبل از شروع برنامه ی شما، Eclipse پنجره ی زیر را برای انتخاب گزینه ی محل اجرای برنامه ی اندرویدتان، نمایش خواهد داد.

دستگاه موبایل خود را به عنوان یک گزینه انتخاب کرده و سپس آن را چک کنید که صفحه ی زیر را نمایش خواهد داد.

اکنون روی لوگوی تصویر ضربه بزنید، پس از آن ارائه کنندگان اشتراک گذاری را مشاهده خواهید کرد.

اکنون از تصویر facebook را انتخاب کرده و پیامی را که می خواهید بنویسید، این مسئله در تصویر زیر نمایش داده شده است.

اکنون دکمه ی post را انتخاب کنید و پس از آن پیام روی دیوار فیس بوک شما پست می شود، همانطور که در تصویر زیر می بینید.