Учебники

Android — интеграция с 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

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 Учебник

Теперь просто нажмите кнопку твит, и тогда он будет размещен на вашей странице в Твиттере. Это показано ниже —