سبد (0)

آموزش یکپارچه سازی linkedin در اندروید

 آموزش یکپارچه سازی linkedin  در اندروید

اندروید به برنامه ی شما اجازه اتصال به Linkedin و به اشتراک گذاری داده یا هرنوع آپدیتی را می دهد. این آموزش در مورد کامل سازی Linkedin در برنامه های شما می باشد.

دو روش برای یکپارچه سازی Linkedin و پس از آن به اشتراک گذاری چیزی از برنامه ی خود وجود دارد. این دو روش عبارتند از

  1. Linkedin SDK (Scribe)
  2. Intent Share

یکپارچه  سازی Linkedin SDK

این روش نخستین راه برای اتصال به Linkedin می باشد. شما ابتدا باید برنامه ی خود را ثبت کرده و سپس چند Application ID دریافت کنید. پس از آن Linkedin SDK را دانلود کرده و آن را به پروژه ی خود بیفزایید. مراحل در زیر فهرست وار ارائه شده اند.

ثبت برنامه خود

یک برنامه ی Linkdin جدید در  https://www.linkedin.com/secure/developer ایجاد کنید. روی new application که در تصویر زیر نشان داده شده، کلیک کنید.

اکنون قسمت اطلاعات مربوط به برنامه را پر کنید، همان طور که در تصویر زیر می بینید.

اگر همه چیز درست باشد یک کلید API با یک رمز دریافت می کنید. کلید API را کپی کرده و در جایی ذخیره کنید زیرا در مراحل بعد به آن نیاز خواهید داشت. در تصویر می بینید.

دانلود SDK  و یکپارچه  سازی آن

Linkdin را دانلود کرده و scribe-1.3.0.jar jar را در فولدر(libs)  پروژه ی خود کپی کنید.

پست کردن آپدیت ها روی برنامه ی Linkdin

پس از اینکه همه چیز کامل شد، می توانید نمونه های Linkdin را اجرا کنید.

Intent share

Intent share برای به اشتراک گذاریداده ها بین برنامه ها استفاده می شود. در این استراتژی ما به برنامه ی SDK رسیدگی نمی کنیم بلکه به برنامه ی linkdin اجازه می دهیم تا به آن رسیدگی کند. به سادگی برنامه linkdin را فراخوانده و داده ها را برای به اشتراک گذاری انتقال می دهیم. از این طریق می توان روی linkdin هم چیزی به اشتراک گذاشت.

اندروید کتابخانه ی intent را برای اشتراک گذاری داده بین برنامه ها و فعالیت ها ارائه می دهد. برای استفاده از آن به عنوان یک share intent باید نوع داده ی share intent را در ACTION_SENDمشخص کنیم. ترکیب آن را در زیر می بینید.

 

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

کار بعدی که باید انجام دهید، تعریف نوع داده برای انتقال و پس از آن انتقال داده می باشد. ترکیب آن مانند زیر می باشد.

 

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

علاوه بر این متد ها، متدهای دیگری هم هستند که اجازه ی کنترل intent را می دهند. این روش ها در جدول زیر ارائه شده اند.

  • addCategory(String category)

    این متد یک ردیف جدید به intent  اضافه می کند.

  • createChooser(Intent target, CharSequence title)

     عملکرد آسان برای ایجاد ACTION_CHOOSER Intent

  • getAction()

    این متد فعالیت کلی را که باید اجرا شود، مانند ACTION_VIEW  بازیابی می کند.

  • getCategories()

    این متد تمام ردیف های intent.nt  و آخرین رویداد مقیاس را گزارش می دهد.

  • putExtra(String name, int value)

    این متد به intent  داده ی گسترده اضافه می کند.

  • toString()

    این متد رشته ای شامل تعریف واضح و خوانا از این شئ ارائه می دهد.

مثال

در اینجا مثالی را می بینید که استفاده از IntentShare را برای به اشتراک گذاری داده روی Linkdin توضیح می دهد. این مثال یک برنامه ی پایه ایجاد می کند که به شما اجازه می دهد متن ها را روی IntentShare به اشتراک بگذارید.

برای آزمایش این مثال لازم است آن را روی یک دستگاه واقعی یا یک شبیه ساز اجرا کنید.

  • برای ایجاد یک برنامه ی اندروید از Eclipse IDE استفاده خواهید کرد و آن را با عنوان  LinkedIn به عنوان بسته ی com.PRG.LinkedInنام گذاری کنید. زمان ایجاد این برنامه مطمئن شوید که Target SDKو Compile With در آخرین ورژن Android SDKهستند تا از سطوح بالاتر API  استفاده کنید.

  • فایل src/MainActivity.java را برای افزودن کد لازم تغییر دهید.

  • res/layout/activity_main را تغییر دهید تا مولفه های XML مربوطه را بیفزایید.

  • برنامه را اجرا کنید، یک دستگاه اجرایی اندروید انتخاب کنید و برنامه را روی آن نصب کرده و نتایج را بررسی کنید.

در زیر محتوای تغییریافته ی فایل MainActivity.java را مشاهده می کنید.

 

package com.PRG.LinkedIn;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

import android.graphics.Typeface;
import android.net.Uri;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;

import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.io.FileNotFoundException;
import java.io.InputStream;

import static java.lang.System.currentTimeMillis;

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://com.PRG.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"));
         }
      });
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
   }
   
   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      
      int id = item.getItemId();
      
      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
         return true;
      }
      return super.onOptionsItemSelected(item);
   }
}

در زیر محتوای تغییریافته ی xml مربوط به res/layout/activity_main.xmlرا مشاهده می کنید.

 

<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را مشاهده می کنید.

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.PRG.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>

اجازه بدهید برنامه ی LinkedIn  را اجرا کنیم. فرض می کنیم که دستگاه موبایل اندروید خود را به کامپیوتر متصل کرده اید. برای اجرای برنامه از Eclipse، یکی ازفایل های فعالیت پروژه را باز کرده و روی آیکن Run  از تولبار کلیک کنید.

دستگاه موبایل خود را به عنوان یک گزینه انتخاب کنید و سپس آن را چک کنید که پنجره ی زیر را نمایش خواهد داد.

اکنون روی لوگوی تصویر ضربه بزنید، پس از آن لیستی از برنامه های ارائه دهنده ی اشتراک گذاری را خواهید دید.

حالا Linkedin را انتخاب کرده و پیامی را که می خواهید در آن تایپ کنید. پیام را در تصویر زیر می توانید ببینید.

در انتها دکمه ی پیکان را بزنید. پیام روی صفحه ی Linkdin شما پست خواهد شد. همان طور که در تصویر زیر می بینید.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehiمجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامیپرداخت آنلاین -  بانک ملتمعرفی بیاموز در شبکه سهپرداخت آنلاین - بانک اقتصاد نوینپرداخت آنلاین - بانک سامان