Android - Integrazione con Twitter

Android consente alla tua applicazione di connettersi a Twitter e condividere dati o qualsiasi tipo di aggiornamento su Twitter. Questo capitolo riguarda l'integrazione di Twitter nella tua applicazione.

Ci sono due modi in cui puoi integrare Twitter e condividere qualcosa dalla tua applicazione. Questi modi sono elencati di seguito:

  • Twitter SDK (Twitter4J)
  • Intent Share

Integrazione di Twitter SDK

Questo è il primo modo per connettersi a Twitter. Devi registrare la tua applicazione e quindi ricevere un ID applicazione, quindi devi scaricare l'SDK di Twitter e aggiungerlo al tuo progetto. I passaggi sono elencati di seguito:

Registrazione dell'applicazione

Crea una nuova applicazione Twitter su dev.twitter.com/apps/new e inserisci tutte le informazioni. È mostrato di seguito -

Ora nella scheda Impostazioni, modifica l'accesso in lettura, scrittura e accesso ai messaggi e salva le impostazioni. È mostrato di seguito -

Se tutto funziona correttamente, riceverai un ID cliente con il segreto. Basta copiare l'ID dell'applicazione e salvarlo da qualche parte. È mostrato nell'immagine qui sotto -

Scaricare SDK e integrarlo

Scarica Twitter SDK qui . Copia il jar twitter4J nella cartella libs del tuo progetto.

Pubblicazione di tweet sull'applicazione Twitter

Una volta che tutto è completo, puoi eseguire gli esempi di twitter 4J che puoi trovare qui .

Per utilizzare twitter, è necessario creare un'istanza di un oggetto della classe twitter, che può essere eseguito chiamando il metodo statico getsingleton(). La sua sintassi è data di seguito.

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

Per aggiornare lo stato, puoi chiamare il metodo updateStatus (). La sua sintassi è data di seguito:

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

Condivisione di intenti

La condivisione degli intenti viene utilizzata per condividere i dati tra le applicazioni. In questa strategia, non gestiremo le cose dell'SDK, ma lasceremo che siano gestite dall'applicazione Twitter. Chiameremo semplicemente l'applicazione Twitter e passeremo i dati da condividere. In questo modo, possiamo condividere qualcosa su Twitter.

Android fornisce una libreria di intenti per condividere i dati tra attività e applicazioni. Per usarlo come intento di condivisione, dobbiamo specificare il tipo di intento di condivisioneACTION_SEND. La sua sintassi è data di seguito:

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

La prossima cosa che devi fare è definire il tipo di dati da passare e quindi passare i dati. La sua sintassi è data di seguito:

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

Oltre a questi metodi, sono disponibili altri metodi che consentono la gestione degli intenti. Sono elencati di seguito:

Suor n Metodo e descrizione
1

addCategory(String category)

Questo metodo aggiunge una nuova categoria all'intento.

2

createChooser(Intent target, CharSequence title)

Funzione comoda per creare un intento ACTION_CHOOSER

3

getAction()

Questo metodo recupera l'azione generale da eseguire, come ACTION_VIEW

4

getCategories()

Questo metodo restituisce l'insieme di tutte le categorie nell'intento e l'evento di ridimensionamento corrente

5

putExtra(String name, int value)

Questo metodo aggiunge dati estesi all'intento.

6

toString()

Questo metodo restituisce una stringa contenente una descrizione concisa e leggibile dall'uomo di questo oggetto

Esempio

Ecco un esempio che mostra l'uso di IntentShare per condividere dati su Twitter. Crea un'applicazione di base che ti permette di condividere del testo su Twitter.

Per sperimentare questo esempio, puoi eseguirlo su un dispositivo reale o in un emulatore.

Passi Descrizione
1 Utilizzerai Android Studio per creare un'applicazione Android con un pacchetto com.example.sairamkrishna.myapplication.
2 Modifica il file src / MainActivity.java per aggiungere il codice necessario.
3 Modifica res / layout / activity_main per aggiungere i rispettivi componenti XML
4 Esegui l'applicazione e scegli un dispositivo Android in esecuzione, installa l'applicazione su di esso e verifica i risultati

Di seguito è riportato il contenuto del file modificato 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"));
         }
      });
   }
}

Di seguito è riportato il contenuto modificato del file 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>

Di seguito è riportato il contenuto di AndroidManifest.xml file.

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

Proviamo a eseguire la tua applicazione. Presumo che tu abbia collegato il tuo attuale dispositivo mobile Android al tuo computer. Per eseguire l'app da Android Studio, apri uno dei file di attività del tuo progetto e fai clic

sull'icona Esegui dalla barra degli strumenti. Prima di avviare l'applicazione, Android Studio mostrerà la seguente finestra per selezionare un'opzione in cui desideri eseguire l'applicazione Android.

Seleziona il tuo dispositivo mobile come opzione, quindi controlla il tuo dispositivo mobile che visualizzerà la schermata predefinita -

Ora tocca il pulsante e vedrai un elenco di provider di condivisione.

Ora seleziona Twitter da quell'elenco e poi scrivi un messaggio. È mostrato nell'immagine qui sotto -

Ora seleziona il pulsante tweet e poi sarà pubblicato sulla tua pagina Twitter. È mostrato di seguito -