Android - Intégration Twitter

Android permet à votre application de se connecter à Twitter et de partager des données ou tout type de mises à jour sur Twitter. Ce chapitre traite de l'intégration de Twitter dans votre application.

Vous pouvez intégrer Twitter et partager quelque chose depuis votre application de deux manières. Ces moyens sont énumérés ci-dessous -

  • SDK Twitter (Twitter4J)
  • Partage d'intention

Intégration du SDK Twitter

C'est la première façon de se connecter avec Twitter. Vous devez enregistrer votre application, puis recevoir un identifiant d'application, puis télécharger le SDK Twitter et l'ajouter à votre projet. Les étapes sont énumérées ci-dessous -

Enregistrer votre candidature

Créez une nouvelle application Twitter sur dev.twitter.com/apps/new et remplissez toutes les informations. Il est montré ci-dessous -

Maintenant, sous l'onglet Paramètres, modifiez l'accès pour lire, écrire et accéder aux messages et enregistrez les paramètres. Il est montré ci-dessous -

Si tout fonctionne correctement, vous recevrez un identifiant de consommateur avec le secret. Copiez simplement l'identifiant de l'application et enregistrez-le quelque part. Il est montré dans l'image ci-dessous -

Télécharger le SDK et l'intégrer

Téléchargez twitter sdk ici . Copiez le fichier jar twitter4J dans le dossier libs de votre projet.

Publier des tweets sur l'application Twitter

Une fois que tout est terminé, vous pouvez exécuter les exemples Twitter 4J qui se trouvent ici .

Pour utiliser Twitter, vous devez instancier un objet de la classe Twitter, ce qui peut être fait en appelant la méthode statique getsingleton(). Sa syntaxe est donnée ci-dessous.

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

Afin de mettre à jour l'état, vous pouvez appeler la méthode updateStatus (). Sa syntaxe est donnée ci-dessous -

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

Partage d'intention

Le partage d'intention est utilisé pour partager des données entre des applications. Dans cette stratégie, nous ne traiterons pas le contenu du SDK, mais laissons l'application Twitter le gérer. Nous allons simplement appeler l'application Twitter et transmettre les données à partager. De cette façon, nous pouvons partager quelque chose sur Twitter.

Android fournit une bibliothèque d'intentions pour partager des données entre les activités et les applications. Pour l'utiliser comme intention de partage, nous devons spécifier le type d'intention de partage àACTION_SEND. Sa syntaxe est donnée ci-dessous -

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

La prochaine chose à faire est de définir le type de données à transmettre, puis de transmettre les données. Sa syntaxe est donnée ci-dessous -

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

En dehors de ces méthodes, il existe d'autres méthodes disponibles qui permettent la gestion des intentions. Ils sont listés ci-dessous -

Sr. Non Méthode et description
1

addCategory(String category)

Cette méthode ajoute une nouvelle catégorie à l'intention.

2

createChooser(Intent target, CharSequence title)

Fonction pratique pour créer une intention ACTION_CHOOSER

3

getAction()

Cette méthode récupère l'action générale à effectuer, telle que ACTION_VIEW

4

getCategories()

Cette méthode retourne l'ensemble de toutes les catégories dans l'intention et l'événement de mise à l'échelle actuel

5

putExtra(String name, int value)

Cette méthode ajoute des données étendues à l'intention.

6

toString()

Cette méthode renvoie une chaîne contenant une description concise et lisible par l'homme de cet objet

Exemple

Voici un exemple illustrant l'utilisation d'IntentShare pour partager des données sur Twitter. Il crée une application de base qui vous permet de partager du texte sur Twitter.

Pour expérimenter cet exemple, vous pouvez l'exécuter sur un appareil réel ou dans un émulateur.

Pas La description
1 Vous utiliserez Android Studio pour créer une application Android sous un package com.example.sairamkrishna.myapplication.
2 Modifiez le fichier src / MainActivity.java pour ajouter le code nécessaire.
3 Modifiez le res / layout / activity_main pour ajouter les composants XML respectifs
4 Exécutez l'application et choisissez un appareil Android en cours d'exécution, installez l'application dessus et vérifiez les résultats

Voici le contenu de la modification 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"));
         }
      });
   }
}

Voici le contenu modifié du 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>

Voici le contenu de AndroidManifest.xml fichier.

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

Essayons d'exécuter votre application. Je suppose que vous avez connecté votre appareil mobile Android à votre ordinateur. Pour exécuter l'application à partir du studio Android, ouvrez l'un des fichiers d'activité de votre projet et cliquez sur l' icône Exécuter dans la barre d'outils. Avant de démarrer votre application, Android studio affichera la fenêtre suivante pour sélectionner une option dans laquelle vous souhaitez exécuter votre application Android.

Sélectionnez votre appareil mobile en option, puis vérifiez votre appareil mobile qui affichera votre écran par défaut -

Maintenant, appuyez simplement sur le bouton et vous verrez une liste de fournisseurs de partage.

Maintenant, sélectionnez simplement Twitter dans cette liste, puis écrivez n'importe quel message. Il est montré dans l'image ci-dessous -

Maintenant, sélectionnez simplement le bouton tweet, puis il sera publié sur votre page Twitter. Il est montré ci-dessous -