Android-Twitter 통합
Android를 사용하면 애플리케이션이 트위터에 연결하고 트위터에서 데이터 또는 모든 종류의 업데이트를 공유 할 수 있습니다. 이 장에서는 트위터를 애플리케이션에 통합하는 방법에 대해 설명합니다.
트위터를 통합하고 애플리케이션에서 무언가를 공유 할 수있는 두 가지 방법이 있습니다. 이러한 방법은 다음과 같습니다.
- Twitter SDK (Twitter4J)
- 의도 공유
Twitter SDK 통합
이것이 트위터와 연결하는 첫 번째 방법입니다. 응용 프로그램을 등록한 다음 응용 프로그램 ID를받은 다음 Twitter SDK를 다운로드하여 프로젝트에 추가해야합니다. 단계는 다음과 같습니다.
응용 프로그램 등록
dev.twitter.com/apps/new 에서 새 트위터 애플리케이션을 만들고 모든 정보를 입력하세요. 아래에 나와 있습니다-
이제 설정 탭에서 메시지 읽기, 쓰기 및 액세스 권한을 변경하고 설정을 저장하십시오. 아래에 나와 있습니다-
모든 것이 제대로 작동하면 암호가 포함 된 소비자 ID를 받게됩니다. 애플리케이션 ID를 복사하여 어딘가에 저장하십시오. 아래 이미지에 나와 있습니다.
SDK 다운로드 및 통합
여기에서 twitter sdk를 다운로드 하십시오 . twitter4J jar를 프로젝트 libs 폴더에 복사합니다.
트위터 애플리케이션에 트윗 게시
모든 것이 완료되면 여기 에서 찾을 수있는 twitter 4J 샘플을 실행할 수 있습니다 .
twitter를 사용하기 위해서는 twitter 클래스의 객체를 인스턴스화해야하며, static 메소드를 호출하여 수행 할 수 있습니다. 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() + "].");
의도 공유
의도 공유는 응용 프로그램간에 데이터를 공유하는 데 사용됩니다. 이 전략에서는 SDK 항목을 처리하지 않고 트위터 애플리케이션이 처리하도록합니다. 트위터 애플리케이션을 호출하고 공유 할 데이터를 전달하기 만하면됩니다. 이렇게하면 트위터에서 무언가를 공유 할 수 있습니다.
Android는 활동과 애플리케이션간에 데이터를 공유하는 인 텐트 라이브러리를 제공합니다. 공유 의도로 사용하려면 공유 의도 유형을 지정해야합니다.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"));
이러한 방법 외에도 인 텐트 처리를 허용하는 다른 방법이 있습니다. 그들은 아래에 나열되어 있습니다-
Sr. 아니요 | 방법 및 설명 |
---|---|
1 | addCategory(String category) 이 메소드는 인 텐트에 새 카테고리를 추가합니다. |
2 | createChooser(Intent target, CharSequence title) ACTION_CHOOSER Intent 생성을위한 편의 기능 |
삼 | getAction() 이 메소드는 ACTION_VIEW와 같이 수행 할 일반 조치를 검색합니다. |
4 | getCategories() 이 메소드는 인 텐트의 모든 카테고리 세트와 현재 확장 이벤트를 반환합니다. |
5 | putExtra(String name, int value) 이 메소드는 인 텐트에 확장 데이터를 추가합니다. |
6 | toString() 이 메소드는이 객체에 대한 간결하고 사람이 읽을 수있는 설명이 포함 된 문자열을 반환합니다. |
예
다음은 IntentShare를 사용하여 트위터에서 데이터를 공유하는 방법을 보여주는 예입니다. 트위터에서 일부 텍스트를 공유 할 수있는 기본 애플리케이션을 만듭니다.
이 예제를 실험하기 위해 실제 기기 또는 에뮬레이터에서 실행할 수 있습니다.
단계 | 기술 |
---|---|
1 | Android 스튜디오를 사용하여 com.example.sairamkrishna.myapplication 패키지 아래에 Android 애플리케이션을 만듭니다. |
2 | src / MainActivity.java 파일을 수정하여 필요한 코드를 추가합니다. |
삼 | res / layout / activity_main을 수정하여 각 XML 구성 요소를 추가하십시오. |
4 | 애플리케이션을 실행하고 실행중인 Android 기기를 선택하고 여기에 애플리케이션을 설치하고 결과를 확인합니다. |
다음은 수정 된 내용입니다. 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의 수정 된 내용입니다. 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>
다음 내용은 AndroidManifest.xml 파일.
<?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>
애플리케이션을 실행 해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고
옵션으로 모바일 장치를 선택한 다음 기본 화면을 표시 할 모바일 장치를 확인하십시오.
이제 버튼을 탭하면 공유 공급자 목록이 표시됩니다.
이제 해당 목록에서 트위터를 선택한 다음 메시지를 작성하십시오. 아래 이미지에 나와 있습니다.
이제 트윗 버튼을 선택하면 트위터 페이지에 게시됩니다. 아래에 나와 있습니다-