TwitterAPI2009. 11. 19. 10:02
Twitter4J를 이용하여 간단한 예제를 작성해보도록 하자.

오늘 살펴볼 예제는 
에 있는 첫번째 예제인
id, password 를 이용해 Twitter 인스턴스를 생성하고
updateStatus 메소드를 이용해서 입력한 스트링을 보내는 코드이다.

1. Updating status

You can update "What are you doing?" via Twitter.updateStatus() method.
See also twitter4j.examples.Update.java for detail. 


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


위의 예제를 간단한 Android application으로 만들어 보자.
결과 화면은 아래와 같다.


먼저 사용할 Twitter4J class를 import해준다.
import twitter4j.Twitter;
import twitter4j.Status;
import twitter4j.TwitterException;


3개의 EditText와 하나의 Button을 이용하여 위와 같은 화면을 구성할 수있다.
final EditText input_id = (EditText)findViewById(R.id.user_id);
final EditText input_pw = (EditText)findViewById(R.id.password);
final EditText input_text = (EditText)findViewById(R.id.input_text);
Button signin = (Button)findViewById(R.id.sign_in_button);

이후 Update Button에 OnClickListener를 붙여서 onClick 발생시 
signin.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v){
      //TODO : Below code will be inserted here
    }
});


user_id EditText와 password EditText에 입력된 값으로 Twitter 객체를 생성하도록 해준다.
그 후 updateStatus 메소드를 이용하여 글을 올리고 결과를 Toast를 이용해 출력 한다.
Twitter twitter = new Twitter(username, password);
Status status;
try {
  status = twitter.updateStatus(update_text);
  Toast.makeText(getApplicationContext(), "Successfully updated the status to [" + status.getText() + "].",   Toast.LENGTH_LONG).show();
  } catch (TwitterException e) {
    Toast.makeText(getApplicationContext(), "Fail to update text [" + e + "].", Toast.LENGTH_LONG).show();
  }

위와 같은 간단한 코드 만으로 Twitter에 로그인 하고 글을 올리는 것이 가능한 application을 만들 수 있다.

프로젝트 파일을 압축해서 첨부하였으니 참고.
다음에는 자신의 timeline을 얻어와 list로 출력 하는 예제를 살펴볼 예정이다.

'TwitterAPI' 카테고리의 다른 글

[Twitter4J] OAuth support  (0) 2011.02.10
Twitter4J TwitterException -1 발생  (1) 2010.02.05
Twitter4J를 사용하기 위한 JAVA CLASSPATH 설정  (0) 2009.10.22
Posted by ekwang
Android/Application2009. 11. 5. 18:18

SNS서비스의 이용이 많아지면서 당연 Twitter에도 많은 사람들이 관심을 가지게 되었다.
S/W 개발자라면 TweetAPI를 이용해서 Twitter Client Application을 개발하는데 관심을 가져볼만하다.

간단한 방법만 소개해보겠다.
우선 Twitter는 TwitterAPI라고 하여 Twitter server에 있는 여러 data들을 자유롭게 접근하여 사용할 수 있도록
API를 오픈하고 있다.
물론 완전히 자유롭게는 아니고 약간의 제약이 있긴하다. (이러한 내용은 Twitter API wiki를 통해 확인하도록 하자.)

아무튼 Twitter API는 html base이다.
C, JAVA등에 익숙한 나같은 사람은 html로 application을 개발 할 능력이 없다.(사실 JAVA에도 무뇌한이지만..)
그래서 TwitterAPI를 다양한 언어로 wrapping해놓은 다양한 라이브러리등이 존재한다.

그중 JAVA를 써서 개발한 Twitter4J를 사용한다면 개발이 한결 쉬울 것이다.
사이트로 가서 압축된 파일을 받기만 하면 준비는 끝이다.
그리고 간단한 sample code를 몇개만 보게된다면 당신은 twitter client 프로그램을 손쉽게 개발 할 수 있을것이다!!!

개발과정을 잠깐보고 간단한 예제코드를 Android에 적용해보자.

1. Twitter4J library Add
아래사진과 같이 Package Explore에서 해당 package를 선택 후 Alt+Enter를 누르면 Properties 화면이 뜬다.
여기서 Java Builder Path 메뉴의 Libraries로 이동, Add External JARs를 눌러서
Twitter4J\twitter4j-2.0.10\twitter4j-2.0.10.jar 를 추가하면 준비는 끝이다.

2. 필요한 class를 import.
이런 식으로 import해 주고 Twitter4J의 class, method들을 호출하여 app개발을 하면 된다.
import twitter4j.Twitter;
import twitter4j.Status;
import twitter4j.TwitterException;
import twitter4j.User;


Twitter4J를 이용한 Twitter 로그인, Tweet 보내기 예제는 다음번에 꼭 포스팅하도록 하겠다.
Posted by ekwang
TwitterAPI2009. 10. 22. 20:32

Window에서 Twitter4J API 사용을 위해서는
twitter4j-2.0.10 이하에 존재하는 jar 파일의 위치를 CLASSPATH 환경 변수 값에 등록을 해주어야 한다.
그래야 Twitter4j class 들을 import한 java파일을 javac를 이용하여 정상적으로 빌드 할 수 있다. 

즉, 아래의 jar파일들이 CLASSPATH 환경 변수에 포함되어야만
어떤 경로에서든 Twitter4j 를 import한 java파일이 빌드가 되는 것이다.
Twitter4J 의 jar파일이 아니더라도 빌드하고자 하는 파일의 import 에 새로운 class가 추가될 경우에는
필요한 jar파일들이 있는 경로를 CLASSPATH로 추가해 주어야 한다.

twitter4j-2.0.10\twitter4j-2.0.10.jar
twitter4j-2.0.10\twitter4j-2.0.10-javadoc.jar
twitter4j-2.0.10\twitter4j-2.0.10-sources.jar
twitter4j-2.0.10\lib\jdom.jar
twitter4j-2.0.10\lib\junit.jar
twitter4j-2.0.10\lib\logback-classic-0.9.6.jar
twitter4j-2.0.10\lib\logback-core-0.9.6.jar
twitter4j-2.0.10\lib\rome-0.9.jar
twitter4j-2.0.10\lib\slf4j-api-1.5.0.jar


아래와 같이 배치파일을 생성하여 CLASSPATH에 추가를 쉽게 한다.
setEvn.cmd 라는 파일을 생성하여 아래와 같이 코드를 넣자.(Window 환경용 임)

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03
for %%i in (D:\SFF\Twitter\Twitter4J\twitter4j-2.0.10\lib\*.jar) do set CLASSPATH=!CLASSPATH!;%%i
for %%i in (D:\SFF\Twitter\Twitter4J\twitter4j-2.0.10\*.jar) do set CLASSPATH=!CLASSPATH!;%%i
set CLASSPATH=%CLASSPATH%;.
set MEM_ARGS=-Xms10m -Xmx10m


위의 JAVA_HOME의 값과 같이 강조처리한 경로명에 대해서는
본인의 경로에 맞도로 변경을 하도록 한다.
setEnv.cmd를 cmd창에서 실행하면 아래와 같이 CLASSPATH값이 변경되었음을 확인 할 수 있다.

CLASSPATH=!CLASSPATH!;D:\SFF\Twitter\Twitter4J\twitter4j-2.0.10\twitter4j-2.0.10.jar;.


그리고 CLASSPATH에 현재경로를 알려주는 . 을 등록하지 않게되면
아래와 같은 Error를 보게 된니 반드시 . 경로(현재폴더를 지정하는 것임)도 추가 하도록 한다( set CLASSPATH=%CLASSPATH%;.)

D:\SFF\Project\Java>java t4j_Update
Exception in thread "main" java.lang.NoClassDefFoundError: t4j_Update


CLASSPATH가 정상적으로 설정되었다면
아래와 같이 컴파일 및 실행을 해볼 수 있다.(setEnv.cmd 는 이미 실행한 상태임)

  

 이 글은 스프링노트에서 작성되었습니다.

'TwitterAPI' 카테고리의 다른 글

[Twitter4J] OAuth support  (0) 2011.02.10
Twitter4J TwitterException -1 발생  (1) 2010.02.05
Twitter4J를 이용한 Android Twitter Application 예제 1  (5) 2009.11.19
Posted by ekwang