Android - Integração com Twitter

O Android permite que seu aplicativo se conecte ao Twitter e compartilhe dados ou qualquer tipo de atualização no Twitter. Este capítulo trata da integração do Twitter em seu aplicativo.

Existem duas maneiras pelas quais você pode integrar o Twitter e compartilhar algo de seu aplicativo. Essas formas estão listadas abaixo -

  • Twitter SDK (Twitter4J)
  • Compartilhamento de intenção

Integrando Twitter SDK

Esta é a primeira forma de se conectar com o Twitter. Você deve registrar seu aplicativo e, em seguida, receber algum ID do aplicativo, e então você deve baixar o SDK do Twitter e adicioná-lo ao seu projeto. As etapas estão listadas abaixo -

Registrando seu aplicativo

Crie um novo aplicativo de twitter em dev.twitter.com/apps/new e preencha todas as informações. É mostrado abaixo -

Agora na aba de configurações, altere o acesso para ler, escrever e acessar mensagens e salvar as configurações. É mostrado abaixo -

Se tudo funcionar bem, você receberá uma ID de consumidor com o segredo. Basta copiar o ID do aplicativo e salvá-lo em algum lugar. É mostrado na imagem abaixo -

Baixando SDK e integrando-o

Baixe o SDK do Twitter aqui . Copie o jar twitter4J para a pasta libs do projeto.

Postando tweets no aplicativo do Twitter

Quando tudo estiver concluído, você pode executar os exemplos do Twitter 4J que podem ser encontrados aqui .

Para usar o twitter, você precisa instanciar um objeto da classe twitter. Isso pode ser feito chamando o método estático getsingleton(). Sua sintaxe é fornecida a seguir.

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

Para atualizar o status, você pode chamar o método updateStatus (). Sua sintaxe é fornecida abaixo -

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

Compartilhamento de intenção

O compartilhamento de intenção é usado para compartilhar dados entre aplicativos. Nessa estratégia, não lidaremos com as coisas do SDK, mas deixaremos que o aplicativo do Twitter faça isso. Vamos simplesmente chamar o aplicativo do Twitter e passar os dados para compartilhar. Assim, podemos compartilhar algo no twitter.

O Android fornece biblioteca de intenção para compartilhar dados entre atividades e aplicativos. Para usá-lo como intenção de compartilhamento, temos que especificar o tipo de intenção de compartilhamento paraACTION_SEND. Sua sintaxe é fornecida abaixo -

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

A próxima coisa que você precisa é definir o tipo de dados a ser transmitido e, em seguida, transmitir os dados. Sua sintaxe é fornecida abaixo -

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

Além desses métodos, existem outros métodos disponíveis que permitem o tratamento de intenções. Eles estão listados abaixo -

Sr. Não Método e descrição
1

addCategory(String category)

Este método adiciona uma nova categoria ao intent.

2

createChooser(Intent target, CharSequence title)

Função de conveniência para criar um intent ACTION_CHOOSER

3

getAction()

Este método recupera a ação geral a ser realizada, como ACTION_VIEW

4

getCategories()

Este método retorna o conjunto de todas as categorias na intenção e o evento de dimensionamento atual

5

putExtra(String name, int value)

Este método adiciona dados estendidos ao intent.

6

toString()

Este método retorna uma string contendo uma descrição concisa e legível deste objeto

Exemplo

Aqui está um exemplo que demonstra o uso de IntentShare para compartilhar dados no Twitter. Ele cria um aplicativo básico que permite compartilhar algum texto no Twitter.

Para experimentar este exemplo, você pode executá-lo em um dispositivo real ou em um emulador.

Passos Descrição
1 Você usará o Android Studio para criar um aplicativo Android em um pacote com.example.sairamkrishna.myapplication.
2 Modifique o arquivo src / MainActivity.java para adicionar o código necessário.
3 Modifique res / layout / activity_main para adicionar os respectivos componentes XML
4 Execute o aplicativo e escolha um dispositivo Android em execução, instale o aplicativo nele e verifique os resultados

A seguir está o conteúdo do modificado 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"));
         }
      });
   }
}

A seguir está o conteúdo modificado do 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>

A seguir está o conteúdo de AndroidManifest.xml Arquivo.

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

Vamos tentar executar seu aplicativo. Presumo que você tenha conectado seu dispositivo Android Mobile real ao computador. Para executar o aplicativo do Android Studio, abra um dos arquivos de atividade do seu projeto e clique no ícone Executar na barra de ferramentas. Antes de iniciar seu aplicativo, o Android Studio exibirá a seguinte janela para selecionar uma opção onde você deseja executar seu aplicativo Android.

Selecione seu dispositivo móvel como uma opção e, em seguida, verifique seu dispositivo móvel, que exibirá sua tela padrão -

Agora, basta tocar no botão e você verá uma lista de provedores de compartilhamento.

Agora basta selecionar o twitter dessa lista e escrever qualquer mensagem. É mostrado na imagem abaixo -

Agora é só selecionar o botão tweet e então postar na sua página do twitter. É mostrado abaixo -