Android 简明教程

Android - LinkedIn Integration

Android 允许您的应用程序连接到 LinkedIn 并分享数据或任何类型的更新。本章讲述如何将 LinkedIn 集成到您的应用程序中。

Android allows your application to connect to Linkedin and share data or any kind of updates on Linkedin. This chapter is about integrating Linkedin into your application.

您可以通过两种方式集成 LinkedIn 并从您的应用程序分享内容。这些方式如下:

There are two ways through which you can integrate Linkedin and share something from your application. These ways are listed below.

  1. Linkedin SDK (Scribe)

  2. Intent Share

Integrating Linkedin SDK

这是连接 Linkedin 的第一种方法。您必须注册您的应用程序,然后接收一些应用程序 ID,然后您必须下载 Linkedin SDK 并将其添加到您的项目。步骤如下。

This is the first way of connecting with Linkedin. You have to register your application and then receive some Application Id , and then you have to download the Linkedin SDK and add it to your project. The steps are listed below.

Registering your application

https://www.linkedin.com/secure/developer 中创建一个新的 Linkedin 应用程序。单击添加新应用程序。显示如下 −

Create a new Linkedin application at https://www.linkedin.com/secure/developer. Click on add new application. It is shown below −

linkedin 1

现在填写您的应用程序名称、说明和您的网站 URL。显示如下 −

Now fill in your application name , description and your website url. It is shown below −

linkedin 2

如果一切正常,您将收到带有密钥的 API 密钥。只需复制 API 密钥并将其保存在某个地方即可。显示在下面的图片中 −

If everything works fine, you will receive an API key with the secret. Just copy the API key and save it somewhere. It is shown in the image below −

linkedin 3

Downloading SDK and integrating it

下载 Linkedin sdk here 。将 scribe-1.3.0.jar jar 复制到您的项目库文件夹。

Download Linkedin sdk here. Copy the scribe-1.3.0.jar jar into your project libs folder.

Posting updates on Linkedin application

一旦完成所有操作,您可以运行可以在 here 中找到的 Linkedin 样本。

Once everything is complete, you can run the Linkedin samples which can be found here.

Intent share

Intent 共享用于在应用程序之间共享数据。在这个策略中,我们不会处理 SDK 相关的东西,而是让 Linkedin 应用程序来处理它。我们只需调用 Linkedin 应用程序并传递要共享的数据即可。通过这种方式,我们可以分享一些内容在 Linkedin 上。

Intent share is used to share data between applications. In this strategy, we will not handle the SDK stuff, but let the Linkedin application handles it. We will simply call the Linkedin application and pass the data to share. This way, we can share something on Linkedin.

Android 提供意图库,以在活动和应用程序之间共享数据。要将此作为共享意图使用,我们必须指定共享意图的类型为 ACTION_SEND 。其语法如下 −

Android provides intent library to share data between activities and applications. In order to use it as share intent, we have to specify the type of the share intent to ACTION_SEND. Its syntax is given below −

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

接下来您需要做的就是定义要传递的数据类型,然后传递数据。其语法如下:

Next thing you need to is to define the type of data to pass , and then pass the data. Its syntax is given below −

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

除了这些方法之外,还有其他允许意图处理的方法。它们如下所示 −

Apart from the these methods , there are other methods available that allows intent handling. They are listed below −

Sr.No

Method & description

1

addCategory(String category) This method add a new category to the intent.

2

createChooser(Intent target, CharSequence title) Convenience function for creating a ACTION_CHOOSER Intent

3

getAction() This method retrieve the general action to be performed, such as ACTION_VIEW

4

getCategories() This method return the set of all categories in the intent.nt and the current scaling event

5

putExtra(String name, int value) This method add extended data to the intent.

6

toString() This method returns a string containing a concise, human-readable description of this object

Example

这里有一个示例,演示如何使用 IntentShare 在 Linkedin 上共享数据。它创建了一个允许您在 Linkedin 上共享一些文本的基本应用程序。

Here is an example demonstrating the use of IntentShare to share data on Linkedin. It creates a basic application that allows you to share some text on Linkedin.

要试验此示例,您可以在实际设备或模拟器上运行它。

To experiment with this example, you can run this on an actual device or in an emulator.

Steps

Description

1

You will use Android studio to create an Android application under a package com.example.sairamkrishna.myapplication.

2

Modify src/MainActivity.java file to add necessary code.

3

Modify the res/layout/activity_main to add respective XML components

4

Run the application and choose a running android device and install the application on it and verify the results

以下是修改后的主活动文件内容 MainActivity.java

Following is the content of the modified main activity file 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"));
         }
      });
   }
}

以下是修改后的 xml res/layout/activity_main.xml 内容。

Following is the modified content of the 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="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>

下面是 AndroidManifest.xml 文件的内容。

Following is the content of 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>

让我们尝试运行你的应用程序。我假设你已将你的实际 Android 移动设备与你的计算机连接。要从 Android Studio 运行应用程序,请打开一个项目活动文件,然后从工具栏中单击“运行”图标。在启动应用程序之前,Android Studio 将显示以下窗口,用于选择希望在其中运行 Android 应用程序的选项。

Let’s try to run your application. I assume you have connected your actual Android Mobile device with your computer. To run the app from Android studio, open one of your project’s activity files and click Run icon from the toolbar. Before starting your application, Android studio will display following window to select an option where you want to run your Android application.

choose device

选择您的移动设备作为选项,然后检查您的移动设备,它将显示您的默认屏幕 −

Select your mobile device as an option and then check your mobile device which will display your default screen −

link1

现在只需点击图像徽标,您就会看到一个共享提供程序列表。

Now just tap on the image logo and you will see a list of share providers.

link2

现在只需从该列表中选择 Linkedin,然后写任何消息即可。显示在下面的图片中 −

Now just select Linkedin from that list and then write any message. It is shown in the image below −

link3

现在显示更新信息

Now it shows updating information

link4