Учебники

Android — интеграция с Facebook

Android позволяет вашему приложению подключаться к Facebook и обмениваться данными или любыми обновлениями на Facebook. Эта глава посвящена интеграции Facebook в ваше приложение.

Есть два способа, которыми вы можете интегрировать Facebook и делиться чем-то из вашего приложения. Эти способы перечислены ниже —

  • Facebook SDK
  • Намерение поделиться

Интеграция Facebook SDK

Это первый способ связи с фейсбуком. Вы должны зарегистрировать свое приложение, а затем получить идентификатор приложения, а затем загрузить SDK facebook и добавить его в свой проект. Шаги перечислены ниже:

Генерация подписи приложения

Вы должны сгенерировать ключевую подпись, но перед тем, как сгенерировать ее, убедитесь, что у вас установлен SSL, иначе вам придется скачать SSl. Его можно скачать здесь .

Теперь откройте командную строку и перенаправьте в папку java jre. Как только вы доберетесь туда, введите эту команду точно. Вы должны заменить путь в кавычках на путь хранилища ключей, который вы можете найти в eclipse, выбрав вкладку окна и вкладку настроек, а затем выбрав опцию сборки в Android с левой стороны.

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

Как только вы введете его, вам будет предложено ввести пароль. Дайте андроид в качестве пароля, а затем скопируйте ключ, который вам дан. Это показано на рисунке ниже —

Android Facebook Учебник

Регистрация вашего приложения

Теперь создайте новое приложение на Facebook по адресу developers.facebook.com/apps и заполните всю информацию. Это показано ниже —

Android Facebook Учебник

Теперь перейдите в раздел нативного приложения для Android, введите имя проекта и класса и вставьте хэш, скопированный на шаге 1. Он показан ниже:

Android Facebook Учебник

Если все работает нормально, вы получите идентификатор приложения с секретом. Просто скопируйте идентификатор приложения и сохраните его где-нибудь. Это показано на рисунке ниже —

Android Facebook Учебник

Скачивание SDK и его интеграция

Скачать Facebook SDK здесь . Импортируйте это в затмение. После импорта щелкните правой кнопкой мыши свой проект в Facebook и выберите «Свойства». Нажмите на Android, нажмите кнопку «Добавить» и выберите «Facebook SDK» в качестве проекта. Нажмите «ОК».

Создание приложения для входа в Facebook

После того, как все будет готово, вы можете запустить примеры, поставляемые с 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 используется для обмена данными между приложениями. В этой стратегии мы не будем обрабатывать SDK, но пусть приложение Facebook обрабатывает это. Мы просто позвоним в приложение Facebook и передадим данные для обмена. Таким образом, мы можем поделиться чем-то на Facebook.

Android предоставляет библиотеку намерений для обмена данными между действиями и приложениями. Чтобы использовать его в качестве общего ресурса, нам нужно указать тип общего ресурса 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"));

Помимо этих методов, есть и другие доступные методы, которые позволяют обрабатывать намерения. Они перечислены ниже —

Sr.No Метод и описание
1

addCategory (строковая категория)

Этот метод добавляет новую категорию в намерение.

2

createChooser (целевой объект, заголовок CharSequence)

Удобная функция для создания намерения ACTION_CHOOSER

3

getAction ()

Этот метод извлекает общее действие, которое нужно выполнить, например ACTION_VIEW.

4

getCategories ()

Этот метод возвращает набор всех категорий в намерении и текущее событие масштабирования

5

putExtra (String name, int value)

Этот метод добавляет расширенные данные к цели.

6

нанизывать()

Этот метод возвращает строку, содержащую краткое, понятное человеку описание этого объекта

addCategory (строковая категория)

Этот метод добавляет новую категорию в намерение.

createChooser (целевой объект, заголовок CharSequence)

Удобная функция для создания намерения ACTION_CHOOSER

getAction ()

Этот метод извлекает общее действие, которое нужно выполнить, например ACTION_VIEW.

getCategories ()

Этот метод возвращает набор всех категорий в намерении и текущее событие масштабирования

putExtra (String name, int value)

Этот метод добавляет расширенные данные к цели.

нанизывать()

Этот метод возвращает строку, содержащую краткое, понятное человеку описание этого объекта

пример

Вот пример, демонстрирующий использование IntentShare для обмена данными на Facebook. Он создает базовое приложение, которое позволяет вам поделиться текстом на Facebook.

Чтобы поэкспериментировать с этим примером, вы можете запустить его на реальном устройстве или в эмуляторе.

меры Описание
1 Вы будете использовать Android studio для создания приложения Android в пакете com.example.sairamkrishna.myapplication.
2 Измените файл src / MainActivity.java, чтобы добавить необходимый код.
3 Измените res / layout / activity_main, чтобы добавить соответствующие компоненты XML.
4 Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты.

Ниже приводится содержимое измененного основного файла активности 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 .

В приведенном ниже коде abc указывает логотип tutorialspoint.com

<?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>

Давайте попробуем запустить ваше приложение. Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». Eclipse Run Icon значок с панели инструментов. Перед запуском приложения Android Studio отобразит следующее окно, чтобы выбрать опцию, в которой вы хотите запустить приложение Android.

Android facebook Учебник

Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, на котором будет отображаться экран по умолчанию —

Android facebook Учебник

Теперь просто нажмите на кнопку, и вы увидите список поставщиков акций.

Android facebook Учебник

Теперь просто выберите Facebook из этого списка и затем напишите любое сообщение. Это показано на рисунке ниже —