Полезные примеры Android

Полезные примеры Android
Android — интеграция с Facebook

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

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

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

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

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

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

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

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

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

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

Руководство Android Facebook

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

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

Руководство Android Facebook

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

Руководство Android Facebook

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

Руководство Android Facebook

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

Загрузите facebook sdk здесь . Импортируйте это в eclipse. После импорта щелкните правой кнопкой мыши свой проект 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() + "!");
}
}
});
}
}
}

Поделиться намерением

Совместное использование намерений используется для обмена данными между приложениями. В этой стратегии мы не будем обрабатывать материалы 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(String category)

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

2

createChooser(Intent target, CharSequence title)

Функция удобства для создания намерения ACTION_CHOOSER

3

getAction ()

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

4

getCategories ()

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

5

putExtra(String name, int value)

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

6

toString()

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

Пример

Вот пример, демонстрирующий использование 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значок « Выполнить» на панели инструментов. Перед запуском вашего приложения студия Android отобразит следующее окно, чтобы выбрать вариант, в котором вы хотите запустить приложение Android.

Руководство по Android facebook

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

Руководство по Android facebook

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

Руководство по Android facebook

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

Руководство по Android facebook

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare