Integracja Android - Twitter

Android umożliwia aplikacji łączenie się z twitterem i udostępnianie danych lub wszelkiego rodzaju aktualizacje na Twitterze. Ten rozdział dotyczy integracji Twittera z Twoją aplikacją.

Istnieją dwa sposoby, dzięki którym możesz zintegrować Twittera i udostępnić coś ze swojej aplikacji. Te sposoby są wymienione poniżej -

  • Twitter SDK (Twitter4J)
  • Udostępnianie intencji

Integracja Twitter SDK

To pierwszy sposób łączenia się z Twitterem. Musisz zarejestrować swoją aplikację, a następnie otrzymać identyfikator aplikacji, a następnie pobrać twitter SDK i dodać go do swojego projektu. Kroki są wymienione poniżej -

Rejestracja aplikacji

Utwórz nową aplikację na Twitterze pod adresem dev.twitter.com/apps/new i wypełnij wszystkie informacje. Jest to pokazane poniżej -

Teraz na karcie ustawień zmień uprawnienia do czytania, pisania i uzyskiwania dostępu do wiadomości oraz zapisz ustawienia. Jest to pokazane poniżej -

Jeśli wszystko działa poprawnie, otrzymasz identyfikator klienta z sekretem. Po prostu skopiuj identyfikator aplikacji i zapisz go gdzieś. Jest to pokazane na poniższym obrazku -

Pobieranie SDK i integracja

Pobierz tutaj twitter sdk . Skopiuj jar twitter4J do folderu libs projektu.

Publikowanie tweetów w aplikacji Twitter

Gdy wszystko będzie gotowe, możesz uruchomić próbki 4J z Twittera, które można znaleźć tutaj .

Aby korzystać z Twittera, należy utworzyć instancję obiektu klasy twitter, co można zrobić poprzez wywołanie metody statycznej getsingleton(). Jego składnię podano poniżej.

// The factory instance is re-usable and thread safe.
Twitter twitter = TwitterFactory.getSingleton();

Aby zaktualizować status, możesz wywołać metodę updateStatus (). Jego składnia jest podana poniżej -

Status status = twitter.updateStatus(latestStatus);
System.out.println("Successfully updated the status to [" + status.getText() + "].");

Podziel się zamiarem

Udostępnianie intencji służy do udostępniania danych między aplikacjami. W tej strategii nie będziemy obsługiwać rzeczy związanych z SDK, ale pozwólmy, aby aplikacja na Twitterze to załatwiła. Po prostu zadzwonimy do aplikacji twitterowej i przekażemy dane do udostępnienia. W ten sposób możemy udostępnić coś na Twitterze.

Android udostępnia bibliotekę intencji do udostępniania danych między działaniami i aplikacjami. Aby użyć go jako zamiaru udziału, musimy określić typ zamiaru udziałuACTION_SEND. Jego składnia jest podana poniżej -

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);

Następną rzeczą, którą musisz zrobić, jest zdefiniowanie typu danych do przekazania, a następnie przekazanie danych. Jego składnia jest podana poniżej -

shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello, from tutorialspoint");
startActivity(Intent.createChooser(shareIntent, "Share your thoughts"));

Oprócz tych metod dostępne są inne metody umożliwiające obsługę intencji. Są one wymienione poniżej -

Sr.No Metoda i opis
1

addCategory(String category)

Ta metoda dodaje nową kategorię do intencji.

2

createChooser(Intent target, CharSequence title)

Wygodna funkcja tworzenia intencji ACTION_CHOOSER

3

getAction()

Ta metoda pobiera ogólną akcję do wykonania, taką jak ACTION_VIEW

4

getCategories()

Ta metoda zwraca zestaw wszystkich kategorii w zamiarze i bieżącym zdarzeniu skalowania

5

putExtra(String name, int value)

Ta metoda dodaje rozszerzone dane do intencji.

6

toString()

Ta metoda zwraca ciąg zawierający zwięzły, czytelny dla człowieka opis tego obiektu

Przykład

Oto przykład demonstrujący wykorzystanie IntentShare do udostępniania danych na Twitterze. Tworzy podstawową aplikację, która umożliwia udostępnianie tekstu na Twitterze.

Aby poeksperymentować z tym przykładem, możesz uruchomić to na rzeczywistym urządzeniu lub w emulatorze.

Kroki Opis
1 Użyjesz Android Studio do stworzenia aplikacji na Androida w pakiecie com.example.sairamkrishna.myapplication.
2 Zmodyfikuj plik src / MainActivity.java, aby dodać niezbędny kod.
3 Zmodyfikuj res / layout / activity_main, aby dodać odpowiednie komponenty XML
4 Uruchom aplikację i wybierz działające urządzenie z systemem Android, zainstaluj na nim aplikację i sprawdź wyniki

Poniżej znajduje się treść zmodyfikowanego pliku 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"));
         }
      });
   }
}

Poniżej znajduje się zmodyfikowana zawartość pliku 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>

Poniżej znajduje się treść AndroidManifest.xml plik.

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

Spróbujmy uruchomić Twoją aplikację. Zakładam, że podłączyłeś swoje rzeczywiste urządzenie mobilne z systemem Android do komputera. Aby uruchomić aplikację ze studia Android, otwórz jeden z plików aktywności projektu i kliknij

ikonę Uruchom na pasku narzędzi. Przed uruchomieniem aplikacji, Android Studio wyświetli następujące okno, aby wybrać opcję, w której chcesz uruchomić aplikację Android.

Wybierz swoje urządzenie mobilne jako opcję, a następnie sprawdź swoje urządzenie mobilne, na którym będzie wyświetlany domyślny ekran -

Teraz wystarczy dotknąć przycisku, a zobaczysz listę dostawców akcji.

Teraz po prostu wybierz Twittera z tej listy i napisz dowolną wiadomość. Jest to pokazane na poniższym obrazku -

Teraz po prostu wybierz przycisk tweet, a następnie zostanie opublikowany na Twojej stronie na Twitterze. Jest to pokazane poniżej -