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
Как только вы введете его, вам будет предложено ввести пароль. Дайте андроид в качестве пароля, а затем скопируйте ключ, который вам дан. Это показано на рисунке ниже —
Регистрация вашего приложения
Теперь создайте новое приложение на Facebook по адресу developers.facebook.com/apps и заполните всю информацию. Это показано ниже —
Теперь перейдите в раздел нативного приложения для Android, введите имя проекта и класса и вставьте хэш, скопированный на шаге 1. Он показан ниже:
Если все работает нормально, вы получите идентификатор приложения с секретом. Просто скопируйте идентификатор приложения и сохраните его где-нибудь. Это показано на рисунке ниже —
Скачивание 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, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок с панели инструментов. Перед запуском приложения Android Studio отобразит следующее окно, чтобы выбрать опцию, в которой вы хотите запустить приложение Android.
Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, на котором будет отображаться экран по умолчанию —
Теперь просто нажмите на кнопку, и вы увидите список поставщиков акций.
Теперь просто выберите Facebook из этого списка и затем напишите любое сообщение. Это показано на рисунке ниже —