Tích hợp Android - Twitter
Android cho phép ứng dụng của bạn kết nối với twitter và chia sẻ dữ liệu hoặc bất kỳ loại cập nhật nào trên twitter. Chương này nói về việc tích hợp twitter vào ứng dụng của bạn.
Có hai cách để bạn có thể tích hợp twitter và chia sẻ nội dung nào đó từ ứng dụng của mình. Những cách này được liệt kê bên dưới -
- SDK Twitter (Twitter4J)
- Chia sẻ ý định
Tích hợp SDK Twitter
Đây là cách kết nối đầu tiên với Twitter. Bạn phải đăng ký ứng dụng của mình và sau đó nhận một số Id ứng dụng, sau đó bạn phải tải xuống SDK twitter và thêm nó vào dự án của mình. Các bước được liệt kê bên dưới -
Đăng ký ứng dụng của bạn
Tạo một ứng dụng twitter mới tại dev.twitter.com/apps/new và điền tất cả thông tin. Nó được hiển thị bên dưới -
Bây giờ trong tab cài đặt, thay đổi quyền truy cập để đọc, viết và truy cập tin nhắn và lưu cài đặt. Nó được hiển thị bên dưới -
Nếu mọi thứ hoạt động tốt, bạn sẽ nhận được ID người tiêu dùng có bí mật. Chỉ cần sao chép id ứng dụng và lưu nó ở đâu đó. Nó được hiển thị trong hình ảnh bên dưới -
Tải xuống SDK và tích hợp nó
Tải xuống twitter sdk tại đây . Sao chép jar twitter4J vào thư mục libs dự án của bạn.
Đăng tweet trên ứng dụng twitter
Sau khi mọi thứ hoàn tất, bạn có thể chạy các mẫu twitter 4J có thể tìm thấy tại đây .
Để sử dụng twitter, bạn cần khởi tạo một đối tượng của lớp twitter, có thể thực hiện bằng cách gọi phương thức static getsingleton(). Cú pháp của nó được đưa ra dưới đây.
// The factory instance is re-usable and thread safe.
Twitter twitter = TwitterFactory.getSingleton();
Để cập nhật trạng thái, bạn có thể gọi phương thức updateStatus (). Cú pháp của nó được đưa ra dưới đây:
Status status = twitter.updateStatus(latestStatus);
System.out.println("Successfully updated the status to [" + status.getText() + "].");
Chia sẻ ý định
Chia sẻ ý định được sử dụng để chia sẻ dữ liệu giữa các ứng dụng. Trong chiến lược này, chúng tôi sẽ không xử lý nội dung SDK mà để ứng dụng twitter xử lý. Chúng tôi sẽ chỉ cần gọi ứng dụng twitter và chuyển dữ liệu để chia sẻ. Bằng cách này, chúng ta có thể chia sẻ điều gì đó trên twitter.
Android cung cấp thư viện ý định để chia sẻ dữ liệu giữa các hoạt động và ứng dụng. Để sử dụng nó làm mục đích chia sẻ, chúng tôi phải chỉ định loại mục đích chia sẻACTION_SEND. Cú pháp của nó được đưa ra dưới đây:
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
Điều tiếp theo bạn cần là xác định loại dữ liệu để truyền, và sau đó truyền dữ liệu. Cú pháp của nó được đưa ra dưới đây:
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello, from tutorialspoint");
startActivity(Intent.createChooser(shareIntent, "Share your thoughts"));
Ngoài các phương pháp này, còn có các phương pháp khác cho phép xử lý ý định. Chúng được liệt kê dưới đây -
Sr.No | Phương pháp & mô tả |
---|---|
1 |
addCategory(String category) Phương pháp này thêm một danh mục mới vào ý định. |
2 |
createChooser(Intent target, CharSequence title) Chức năng thuận tiện để tạo Ý định ACTION_CHOOSER |
3 |
getAction() Phương thức này truy xuất hành động chung sẽ được thực hiện, chẳng hạn như ACTION_VIEW |
4 |
getCategories() Phương thức này trả về tập hợp tất cả các danh mục trong ý định và sự kiện chia tỷ lệ hiện tại |
5 |
putExtra(String name, int value) Phương pháp này thêm dữ liệu mở rộng vào ý định. |
6 |
toString() Phương thức này trả về một chuỗi chứa mô tả ngắn gọn, con người có thể đọc được về đối tượng này |
Thí dụ
Đây là một ví dụ minh họa việc sử dụng IntentShare để chia sẻ dữ liệu trên twitter. Nó tạo ra một ứng dụng cơ bản cho phép bạn chia sẻ một số văn bản trên twitter.
Để thử nghiệm với ví dụ này, bạn có thể chạy trên thiết bị thực tế hoặc trong trình giả lập.
Các bước | Sự miêu tả |
---|---|
1 | Bạn sẽ sử dụng Android studio để tạo ứng dụng Android theo gói com.example.sairamkrishna.myapplication. |
2 | Sửa đổi tệp src / MainActivity.java để thêm mã cần thiết. |
3 | Sửa đổi res / layout / activity_main để thêm các thành phần XML tương ứng |
4 | Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả |
Sau đây là nội dung của bản sửa đổi 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"));
}
});
}
}
Sau đây là nội dung sửa đổi của 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="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>
Sau đây là nội dung của AndroidManifest.xml tập tin.
<?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>
Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị di động Android thực tế với máy tính của mình. Để chạy ứng dụng từ Android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào
Chọn thiết bị di động của bạn làm tùy chọn, sau đó kiểm tra thiết bị di động sẽ hiển thị màn hình mặc định của bạn -
Bây giờ chỉ cần nhấn vào nút và bạn sẽ thấy danh sách các nhà cung cấp chia sẻ.
Bây giờ chỉ cần chọn twitter từ danh sách đó và sau đó viết bất kỳ tin nhắn nào. Nó được hiển thị trong hình ảnh bên dưới -
Bây giờ chỉ cần chọn nút tweet và sau đó nó sẽ được đăng trên trang twitter của bạn. Nó được hiển thị bên dưới -