اتصال به فیس بوک در برنامه نویسی اندروید

4 سال پیش

اتصال به فیس بوک در برنامه نویسی اندروید

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، در مورد  اتصال به فیس بوک در برنامه نویسی اندروید ( facebook integration) صحبت خواهیم کرد.

 

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

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

  • Facebook SDK
  • Intent Share

 

ادغام فیس بوک با SDK

این اولین راه ارتباط با فیس بوک است. شما باید برنامه خود را ثبت کنید و سپس برخی از شناسه های برنامه را دریافت کنید، و سپس باید facebook SDK را دانلود کرده و به پروژه خود اضافه کنید. مراحل زیر لیست شده است:

تولید امضای اپلیکیشن

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

اکنون خط فرمان را باز کرده و به پوشه java jre خود تغییر مسیر دهید. پس از رسیدن به آنجا، این دستور را دقیقاً تایپ کنید.

با انتخاب برگه پنجره و انتخاب برگه تنظیمات و سپس انتخاب گزینه build در قسمت android از سمت چپ، باید مسیر پیش فرض را با مسیر keystore خود جایگزین کنید.

keytool -exportcert -alias androiddebugkey -keystore "your path" 
   | openssl sha1 -binary | openssl base64

پس از وارد کردن آن، سریعاً  رمز ورود را از شما می خواهد. android را به عنوان رمز عبور داده و سپس كلیدی را كه به شما داده شده را كپی كنید. در تصویر زیر نشان داده شده است:

ریجستر کردن اپلیکیشن

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

اکنون به قسمت برنامه بومی اندروید بروید و نام پروژه و کلاس خود را پر کرده و کد هش را که در مرحله فبل کپی کرده اید را جای گذاری کنید. در زیر نشان داده شده است:

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

 

دانلود facebook sdk و ادغام آن

facebook sdk را از اینجا دانلود کنید. سپس آن را در eclipse وارد کنید. پس از وارد کردن، بر روی پروژه فیس بوک خود کلیک راست کرده و بر روی Properties کلیک کنید. بر روی android کلیک کنید، بر روی دکمه add کلیک کنید و facebook sdk را به عنوان پروژه انتخاب کنید. ok را کلیک کنید.

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

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

// 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 Share

Intent sharing برای به اشتراک گذاشتن داده ها بین برنامه ها استفاده می شود. در این استراتژی، ما کارهای SDK را کنترل نمی کنیم، اما اجازه می دهیم برنامه فیس بوک این موارد را مدیریت کند.

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

اندروید کتابخانه intent را برای به اشتراک گذاشتن داده ها بین فعالیت ها و برنامه ها فراهم می کند.

برای استفاده از آن به عنوان Intent Share، باید نوع Intent Share را برای 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 و رویداد مقیاس بندی فعلی باز می گرداند

(putExtra(String name, int value

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

  • ()toString 

این متد رشته ای را در بر می گیرد که  مختصری و قابل توصیف است

 

مثال

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

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

شرح مراحل 

۱ شما برای ایجاد یک برنامه Android تحت یک پکیج com.example.sairamkrishna.myapplication از Android studio استفاده خواهید کرد.
۲ برای اضافه کردن کد لازم، پرونده src / MainActivity.java را تغییر دهید.
۳ res / layout / activity_main را تغییر دهید تا مولفه های XML مربوطه اضافه شود.
۴ برنامه را اجرا کنید و دستگاه اندرویدی در حال اجرا را انتخاب کنید و برنامه را روی آن نصب کنید و نتایج را تأیید کنید.

در زیر محتوای پرونده فعالیت اصلی تغییر یافته MainActivity.java است.

package com.example.sairamkrishna.myapplication;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;

import android.widget.Button;
import android.widget.ImageView;

import java.io.FileNotFoundException;
import java.io.InputStream;

public class MainActivity extends AppCompatActivity {
   private ImageView img;

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      img=(ImageView)findViewById(R.id.imageView);
      Button b1=(Button)findViewById(R.id.button);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Intent sharingIntent = new Intent(Intent.ACTION_SEND);
            Uri screenshotUri = Uri.parse("android.
            resource://comexample.sairamkrishna.myapplication/*");
            
            try {
               InputStream stream = getContentResolver().openInputStream(screenshotUri);
            } catch (FileNotFoundException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
            }

            sharingIntent.setType("image/jpeg");
            sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
            startActivity(Intent.createChooser(sharingIntent, "Share image using"));
         }
      });
   }
}

در زیر محتوای اصلاح شده xml res / layout / activity_main.xml آمده است.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="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" 
   tools:context=".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:textSize="30dp"
      android:text="Facebook share " />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true"
      android:textSize="35dp"
      android:textColor="#ff16ff01" />
      
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:layout_below="@+id/textView2"
      android:layout_centerHorizontal="true"
      android:src="@drawable/abc"/>
   
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Share"
      android:id="@+id/button"
      android:layout_marginTop="61dp"
      android:layout_below="@+id/imageView"
      android:layout_centerHorizontal="true" />
      
</RelativeLayout>

در زیر محتوای فایل AndroidManifest.xml آمده است

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".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>
   </application>
</manifest>

بیایید برنامه را اجرا کنیم. من تصور می کنم شما AVD خود را هنگام راه اندازی محیط ایجاد کرده اید. برای اجرای برنامه از Android studio، یکی از پرونده های فعالیت پروژه خود را باز کنید و از نوار ابزار روی Android StudioRun Icon کلیک کنید. Android Studio برنامه را روی AVD شما نصب کرده و شروع به کار می کند و اگر با تنظیمات و برنامه هایتان همه چیز خوب باشد، زیر پنجره شبیه ساز نمایش داده می شود.

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

اکنون فقط روی دکمه ضربه بزنید و لیستی از ارائه دهندگان  share را مشاهده خواهید کرد.

حالا فقط فیس بوک را از آن لیست انتخاب کنید و سپس یک پیام دلخواه را بنویسید. در تصویر زیر نشان داده شده است:

منبع.

لیست جلسات قبل آموزش برنامه نویسی اندروید

  1. نگاهی کلی به برنامه نویسی اندروید
  2. تنظیمات محیط  در برنامه نویسی اندروید
  3. معماری برنامه نویسی اندروید
  4. اجزای برنامه در برنامه نویسی اندروید
  5. Hello World در برنامه نویسی اندروید
  6. سازماندهی و دسترسی به منابع در برنامه نویسی اندروید
  7. فعالیت در برنامه نویسی اندروید
  8. سرویس در برنامه نویسی اندروید
  9. گیرنده های پخش در برنامه نویسی اندروید
  10. ارائه دهنده محتوا در برنامه نویسی اندروید
  11. قطعات در برنامه نویسی اندروید
  12. Intent و فیلتر در برنامه نویسی اندروید
  13. طرح بندی رابط کاربری در برنامه نویسی اندروید
  14. کنترل های رابط کاربری در برنامه نویسی اندروید
  15. مدیریت رویدادها در برنامه نویسی اندروید
  16. استایل و تم ها در برنامه نویسی اندروید
  17. اجزای سفارشی در برنامه نویسی اندروید
  18. کشیدن و رها کردن در برنامه نویسی اندروید
  19. نوتیفیکیشن ها در برنامه نویسی اندروید
  20. سرویس های مبتنی بر مکان در برنامه نویسی اندروید
  21. ارسال ایمیل در برنامه نویسی اندروید
  22. ارسال پیامک در برنامه نویسی اندروید
  23. تماس های تلفنی در برنامه نویسی اندروید
  24. انتشار برنامه اندروید
  25. آموزش Alert Dialog در برنامه نویسی اندروید
  26. انیمیشن در برنامه نویسی اندروید
  27. ضبط صدا در برنامه نویسی اندروید
  28. مدیریت صدا در برنامه نویسی اندروید
  29. آموزش Auto Complete در برنامه نویسی اندروید
  30. بهترین شیوه ها در برنامه نویسی اندروید
  31. بلوتوث در برنامه نویسی اندروید
  32. استفاده از دوربین در برنامه نویسی اندروید
  33. کلیپ بورد در برنامه نویسی اندروید
  34. فونت سفارشی در برنامه نویسی اندروید
  35. پشتیبان گیری از داده ها در برنامه نویسی اندروید
  36.  ابزارهای توسعه دهنده در برنامه نویسی اندروید
  37. آموزش شبیه ساز در برنامه نویسی اندروید
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه