سبد (0)

آموزش کامل سازی twitter اندروید

آموزش کامل سازی twitter  اندروید

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

دو راه وجود دارند که از طریق آنها می توانید twitter را کامل کرده و چیزی از برنامه ی خود را در آن به اشتراک بگذارید. این دو روش عبارتند از

  1. Twitter SDK (Twitter4J)
  2. Intent Share

کامل سازی Twitter SDK

این اولین روش برای اتصال به twitter می باشد. شما باید برنامه ی خود را ثبت کرده و سپس یک id اندروید دریافت کنید و بعد از آن Twitter SDK  را دانلود کنید و آن را به پروژه ی خود اضافه کنید، که این مراحل در زیر لیست شده اند.

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

یک برنامه ی جدید twitter در dev.twitter.com/apps/new  ایجاد کرده و بخش اطلاعات را پر کنید.

پس از آن در قسمت تنظیمات  access را به Read, Write and access direct messages تغییر داده و تنظیمات را ذخیره کنید. همانطور که در تصویر می بینید.

اگر همه چیز درست پیش رفته باشد، یک ID مصرف کننده با یک رمز دریافت خواهید کرد. Id برنامه را کپی کرده و آن را در جایی ذخیره کنید. در تصویر زیر می توانید ببینید.

دانلود کردن SDK  و کامل سازی آن

Twitter SDK را دانلود کنید، twitter4J jar را در فولدر lib های پروژه ی خود کپی کنید.

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

Twitter زمانی که همه چیز کامل باشد، می توانید نمونه های twitter 4j را اجرا کنید.

برای استفاده از twitter لازم است که یک شئ از کلاس twitter را نمونه قرار دهید. این کار به وسیله ی فراخوانی متد استاتیک getsingleton()انجام می شود. ترکیب آن در زیر ارائه شده است.

 

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

برای آپدیت کردن وضعیت، می توانید متد updateStatus()  را فرا بخوانید. ترکیب آن مانند زیر می باشد.

 

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

به اشتراک گذاری اینتنت

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

اندروید کتابخانه ی intent را برای اشتراک داده بین فعالیت ها و برنامه ها ارائه می دهد. برای استفاده از آن به عنوان share intent ابتدا باید نوع اشتراک 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 

  • getCategories()

    این متد مجموعه ی همه ی مولفه های intent.nt و رویداد مقیاس گذاری را بر میگرداند..

  • putExtra(String name, int value)

    این متد داده ی توسعه یافته به intent اضافه می کند.

  • toString()

    این روش یک رشته شامل توضیحات واضح و خوانا از این شئ را بر میگرداند..

مثال

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

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

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

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

  • فایل res/layout/activity_main را تغییر دهید تا کد لازم را به آن اضافه کنید.

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

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

 

package com.PRG.intentshare;

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://comPRG.intentshare/*");
            
            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="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/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.intentshare" >

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

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

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

اکنون twitter را انتخاب کرده و پیامی را که می خواهید بنویسید و پس از آنن دکمه tweet را کلیک کنید.

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