Интеграция с Twitter
Android позволяет вашему приложению подключаться к Twitter и обмениваться данными или любыми обновлениями в Twitter. Эта глава посвящена интеграции твиттера в ваше приложение.
Есть два способа, которыми вы можете интегрировать твиттер и поделиться чем-то из своего приложения. Эти способы перечислены ниже –
Twitter SDK (Twitter4J)
Намерение поделиться
Интеграция Twitter SDK
Это первый способ связи с Twitter. Вы должны зарегистрировать свое приложение, а затем получить идентификатор приложения, а затем загрузить SDK twitter и добавить его в свой проект. Шаги перечислены ниже –
Регистрация вашего приложения
Создайте новое приложение для Twitter на dev.twitter.com/apps/new и заполните всю информацию. Это показано ниже –
Android Twitter Учебник
Теперь на вкладке настроек измените доступ к чтению, записи и доступу к сообщениям и сохраните настройки. Это показано ниже –
Android Twitter Учебник
Если все работает нормально, вы получите идентификатор потребителя с секретом. Просто скопируйте идентификатор приложения и сохраните его где-нибудь. Это показано на рисунке ниже –
Android Twitter Учебник
Скачивание SDK и его интеграция
Скачать твиттер SDK здесь . Скопируйте jar twitter4J в папку libs вашего проекта.
Размещение твитов в твиттере
Когда все будет готово, вы можете запустить образцы Twitter 4J, которые можно найти здесь .
Чтобы использовать twitter, вам нужно создать экземпляр объекта класса twitter. Это можно сделать, вызвав статический метод getsingleton () . Его синтаксис приведен ниже.
// The factory instance is re-usable and thread safe.
Twitter twitter = TwitterFactory.getSingleton();
Чтобы обновить статус, вы можете вызвать метод updateStatus (). Его синтаксис приведен ниже –
Status status = twitter.updateStatus(latestStatus);
System.out.println("Successfully updated the status to [" + status.getText() + "].");
Намеренная доля
Intent share используется для обмена данными между приложениями. В этой стратегии мы не будем обрабатывать SDK, но пусть твиттер-приложение справится с этим. Мы просто позвоним в твиттер-приложение и передадим данные для обмена. Таким образом, мы можем поделиться чем-то в твиттере.
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
SEGMENTO
getAction ()
Этот метод извлекает общее действие, которое нужно выполнить, например ACTION_VIEW.
getCategories ()
Этот метод возвращает набор всех категорий в намерении и текущее событие масштабирования
putExtra (String name, int value)
Этот метод добавляет расширенные данные к цели.
нанизывать()
Этот метод возвращает строку, содержащую краткое, понятное человеку описание этого объекта
пример
Вот пример, демонстрирующий использование IntentShare для обмена данными в Twitter. Он создает базовое приложение, которое позволяет вам поделиться текстом в твиттере.
Чтобы поэкспериментировать с этим примером, вы можете запустить его на реальном устройстве или в эмуляторе.
меры Описание
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.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class MainActivity extends ActionBarActivity {
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="Twitter 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 Twitter Учебник
Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, на котором будет отображаться экран по умолчанию –
Android Twitter Учебник
Теперь просто нажмите на кнопку, и вы увидите список поставщиков акций.
Android Twitter Учебник
Теперь просто выберите твиттер из этого списка и напишите любое сообщение. Это показано на рисунке ниже –
Android Twitter Учебник
Теперь просто нажмите кнопку твит, и тогда он будет размещен на вашей странице в Твиттере. Это показано ниже –