Android - Twitter Entegrasyonu

Android, uygulamanızın twitter'a bağlanmasına ve verileri veya her türlü güncellemeyi twitter'da paylaşmasına izin verir. Bu bölüm twitter'ı uygulamanıza entegre etmekle ilgilidir.

Twitter'ı entegre etmenin ve uygulamanızdan bir şeyler paylaşmanın iki yolu vardır. Bu yollar aşağıda listelenmiştir -

  • Twitter SDK (Twitter4J)
  • Amaç Paylaşımı

Twitter SDK entegrasyonu

Bu, Twitter ile bağlantı kurmanın ilk yoludur. Uygulamanızı kaydettirmeniz ve ardından bir Uygulama Kimliği almanız ve ardından twitter SDK'yı indirmeniz ve projenize eklemeniz gerekir. Adımlar aşağıda listelenmiştir -

Uygulamanızı kaydettirme

Dev.twitter.com/apps/new adresinde yeni bir twitter uygulaması oluşturun ve tüm bilgileri doldurun. Aşağıda gösterilmiştir -

Şimdi ayarlar sekmesi altında, mesajları okuma, yazma ve bunlara erişme erişimini değiştirin ve ayarları kaydedin. Aşağıda gösterilmiştir -

Her şey yolunda giderse, sır içeren bir tüketici kimliği alacaksınız. Sadece uygulama kimliğini kopyalayın ve bir yere kaydedin. Aşağıdaki resimde gösterilmektedir -

SDK'yı indirme ve entegre etme

Twitter SDK'yi buradan indirin . Twitter4J kavanozunu proje kitaplıkları klasörünüze kopyalayın.

Twitter uygulamasında tweet gönderme

Her şey tamamlandığında, burada bulunan twitter 4J örneklerini çalıştırabilirsiniz .

Twitter'ı kullanmak için, twitter sınıfının bir nesnesini somutlaştırmanız gerekir. Bu, statik yöntemi çağırarak yapılabilir. getsingleton(). Söz dizimi aşağıda verilmiştir.

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

Durumu güncellemek için updateStatus () yöntemini çağırabilirsiniz. Söz dizimi aşağıda verilmiştir -

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

Amaç paylaşımı

Amaç paylaşımı, uygulamalar arasında veri paylaşmak için kullanılır. Bu stratejide, SDK meselelerini ele almayacağız, ancak twitter uygulamasının halledmesine izin vereceğiz. Sadece twitter uygulamasını arayacağız ve verileri paylaşmak için ileteceğiz. Bu şekilde twitter üzerinden bir şeyler paylaşabiliriz.

Android, etkinlikler ve uygulamalar arasında veri paylaşmak için amaç kitaplığı sağlar. Bunu paylaşım amacı olarak kullanmak için, paylaşma niyetinin türünü belirtmeliyiz.ACTION_SEND. Söz dizimi aşağıda verilmiştir -

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

Yapmanız gereken sonraki şey, aktarılacak veri türünü tanımlamak ve ardından verileri iletmektir. Söz dizimi aşağıda verilmiştir -

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

Bu yöntemlerin dışında, niyet işlemeye izin veren başka yöntemler de vardır. Aşağıda listelenmiştir -

Sr.No Yöntem ve açıklama
1

addCategory(String category)

Bu yöntem, amaca yeni bir kategori ekler.

2

createChooser(Intent target, CharSequence title)

ACTION_CHOOSER Amacı oluşturmak için kolaylık işlevi

3

getAction()

Bu yöntem, ACTION_VIEW gibi gerçekleştirilecek genel eylemi alır.

4

getCategories()

Bu yöntem, amaçtaki tüm kategorilerin kümesini ve geçerli ölçekleme olayını döndürür

5

putExtra(String name, int value)

Bu yöntem, amaca genişletilmiş veriler ekler.

6

toString()

Bu yöntem, bu nesnenin kısa, insan tarafından okunabilir bir açıklamasını içeren bir dize döndürür

Misal

Twitter'da veri paylaşmak için IntentShare kullanımını gösteren bir örnek aşağıda verilmiştir. Twitter'da bazı metinleri paylaşmanıza izin veren temel bir uygulama oluşturur.

Bu örneği denemek için, bunu gerçek bir cihazda veya bir emülatörde çalıştırabilirsiniz.

Adımlar Açıklama
1 Com.example.sairamkrishna.myapplication paketi altında Android uygulaması oluşturmak için Android stüdyosunu kullanacaksınız.
2 Gerekli kodu eklemek için src / MainActivity.java dosyasını değiştirin.
3 İlgili XML bileşenlerini eklemek için res / layout / activity_main'i değiştirin
4 Uygulamayı çalıştırın ve çalışan bir android cihaz seçin ve üzerine uygulamayı yükleyin ve sonuçları doğrulayın

Aşağıda değiştirilen içeriğin içeriği yer almaktadır 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"));
         }
      });
   }
}

Xml'nin değiştirilmiş içeriği aşağıdadır 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şağıdakilerin içeriği AndroidManifest.xml dosya.

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

Uygulamanızı çalıştırmayı deneyelim. Gerçek Android Mobil cihazınızı bilgisayarınıza bağladığınızı varsayıyorum. Uygulamayı Android stüdyosundan çalıştırmak için, projenizin etkinlik dosyalarından birini açın

ve araç çubuğundan Çalıştır simgesine tıklayın . Uygulamanızı başlatmadan önce, Android stüdyosu Android uygulamanızı çalıştırmak istediğiniz bir seçeneği seçmek için aşağıdaki pencereyi görüntüleyecektir.

Mobil cihazınızı bir seçenek olarak seçin ve ardından varsayılan ekranınızı gösterecek olan mobil cihazınızı kontrol edin -

Şimdi sadece düğmeye dokunun ve paylaşım sağlayıcılarının bir listesini göreceksiniz.

Şimdi bu listeden twitter seçin ve ardından herhangi bir mesaj yazın. Aşağıdaki resimde gösterilmektedir -

Şimdi sadece tweet düğmesini seçin ve ardından twitter sayfanıza gönderilecektir. Aşağıda gösterilmiştir -