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