Android - Integración de Twitter
Android permite que su aplicación se conecte a Twitter y comparta datos o cualquier tipo de actualización en Twitter. Este capítulo trata sobre la integración de Twitter en su aplicación.
Hay dos formas de integrar Twitter y compartir algo de su aplicación. Estas formas se enumeran a continuación:
- SDK de Twitter (Twitter4J)
- Intención Compartir
Integración del SDK de Twitter
Esta es la primera forma de conectarse con Twitter. Debe registrar su aplicación y luego recibir un ID de aplicación, y luego debe descargar el SDK de Twitter y agregarlo a su proyecto. Los pasos se enumeran a continuación:
Registro de su aplicación
Cree una nueva aplicación de Twitter en dev.twitter.com/apps/new y complete toda la información. Se muestra a continuación:
Ahora, en la pestaña de configuración, cambie el acceso para leer, escribir y acceder a mensajes y guardar la configuración. Se muestra a continuación:
Si todo funciona bien, recibirá una identificación de consumidor con el secreto. Simplemente copie la identificación de la aplicación y guárdela en algún lugar. Se muestra en la imagen a continuación:
Descargando SDK e integrándolo
Descarga el SDK de Twitter aquí . Copie el jar twitter4J en la carpeta libs de su proyecto.
Publicar tweets en la aplicación de Twitter
Una vez que todo esté completo, puede ejecutar las muestras de Twitter 4J que se pueden encontrar aquí .
Para usar Twitter, necesita crear una instancia de un objeto de la clase Twitter. Se puede hacer llamando al método estático getsingleton(). Su sintaxis se da a continuación.
// The factory instance is re-usable and thread safe.
Twitter twitter = TwitterFactory.getSingleton();
Para actualizar el estado, puede llamar al método updateStatus (). Su sintaxis se da a continuación:
Status status = twitter.updateStatus(latestStatus);
System.out.println("Successfully updated the status to [" + status.getText() + "].");
Intención compartida
Intent share se utiliza para compartir datos entre aplicaciones. En esta estrategia, no manejaremos las cosas del SDK, pero dejaremos que la aplicación de Twitter lo maneje. Simplemente llamaremos a la aplicación de Twitter y pasaremos los datos para compartir. De esta manera, podemos compartir algo en Twitter.
Android proporciona una biblioteca de intenciones para compartir datos entre actividades y aplicaciones. Para usarlo como intención de compartir, tenemos que especificar el tipo de intención de compartirACTION_SEND. Su sintaxis se da a continuación:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
Lo siguiente que debe hacer es definir el tipo de datos que se transmitirán y luego pasar los datos. Su sintaxis se da a continuación:
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello, from tutorialspoint");
startActivity(Intent.createChooser(shareIntent, "Share your thoughts"));
Aparte de estos métodos, hay otros métodos disponibles que permiten el manejo de intenciones. Se enumeran a continuación:
No Señor | Método y descripción |
---|---|
1 | addCategory(String category) Este método agrega una nueva categoría a la intención. |
2 | createChooser(Intent target, CharSequence title) Función de conveniencia para crear una intención ACTION_CHOOSER |
3 | getAction() Este método recupera la acción general a realizar, como ACTION_VIEW |
4 | getCategories() Este método devuelve el conjunto de todas las categorías en la intención y el evento de escala actual |
5 | putExtra(String name, int value) Este método agrega datos extendidos a la intención. |
6 | toString() Este método devuelve una cadena que contiene una descripción concisa y legible por humanos de este objeto. |
Ejemplo
Aquí hay un ejemplo que demuestra el uso de IntentShare para compartir datos en Twitter. Crea una aplicación básica que te permite compartir texto en Twitter.
Para experimentar con este ejemplo, puede ejecutarlo en un dispositivo real o en un emulador.
Pasos | Descripción |
---|---|
1 | Utilizará Android Studio para crear una aplicación de Android en un paquete com.example.sairamkrishna.myapplication. |
2 | Modifique el archivo src / MainActivity.java para agregar el código necesario. |
3 | Modifique res / layout / activity_main para agregar los componentes XML respectivos |
4 | Ejecute la aplicación y elija un dispositivo Android en ejecución e instale la aplicación en él y verifique los resultados |
A continuación se muestra el contenido de la modificación 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 continuación se muestra el contenido modificado del 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 continuación se muestra el contenido de AndroidManifest.xml archivo.
<?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>
Intentemos ejecutar su aplicación. Supongo que ha conectado su dispositivo móvil Android real con su computadora. Para ejecutar la aplicación desde Android Studio, abra uno de los archivos de actividad de su proyecto y haga clic en el
Seleccione su dispositivo móvil como una opción y luego verifique su dispositivo móvil que mostrará su pantalla predeterminada -
Ahora solo toque el botón y verá una lista de proveedores de acciones.
Ahora solo seleccione twitter de esa lista y luego escriba cualquier mensaje. Se muestra en la imagen a continuación:
Ahora simplemente seleccione el botón de tweet y luego se publicará en su página de Twitter. Se muestra a continuación: