Android - Integración de LinkedIn
Android permite que su aplicación se conecte a Linkedin y comparta datos o cualquier tipo de actualizaciones en Linkedin. Este capítulo trata sobre la integración de Linkedin en su aplicación.
Hay dos formas de integrar Linkedin y compartir algo de su aplicación. Estas formas se enumeran a continuación.
SDK de Linkedin (Scribe)
Intención Compartir
Integrando Linkedin SDK
Esta es la primera forma de conectarse con Linkedin. Debe registrar su aplicación y luego recibir un ID de aplicación, y luego debe descargar el SDK de Linkedin y agregarlo a su proyecto. Los pasos se enumeran a continuación.
Registro de su aplicación
Cree una nueva aplicación de Linkedin en https://www.linkedin.com/secure/developer. Haga clic en agregar nueva aplicación. Se muestra a continuación:
Ahora complete el nombre de su aplicación, la descripción y la URL de su sitio web. Se muestra a continuación:
Si todo funciona bien, recibirá una clave API con el secreto. Simplemente copie la clave API y guárdela en algún lugar. Se muestra en la imagen a continuación:
Descargando SDK e integrándolo
Descarga Linkedin sdk aquí . Copie el jar scribe-1.3.0.jar en la carpeta libs de su proyecto.
Publicar actualizaciones en la aplicación de Linkedin
Una vez que todo esté completo, puede ejecutar las muestras de Linkedin que se pueden encontrar aquí .
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 Linkedin lo maneje. Simplemente llamaremos a la aplicación de Linkedin y pasaremos los datos para compartir. De esta forma, podemos compartir algo en Linkedin.
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 intent.nt 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 Linkedin. Crea una aplicación básica que te permite compartir texto en Linkedin.
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 del archivo de actividad principal modificado MainActivity.java.
package com.example.sairamkrishna.myapplication;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity {
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.
En el siguiente código abc indica el logo de tutorialspoint.com
<?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="Linkedin 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/logo"/>
<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 logotipo de la imagen y verá una lista de proveedores de acciones.
Ahora solo seleccione Linkedin de esa lista y luego escriba cualquier mensaje. Se muestra en la imagen a continuación:
Ahora muestra información actualizada