2017-08-26 110 views
0

我GOOGLE了從Twitter API (JSON Object).Android的 - 如何從Twitter的API獲取一個人的鳴叫

得到一個人的微博,但我沒有得到任何完美的解決方案吧。

我試過使用QueryResult,但它顯示# HASH_TAG@ Tag

有沒有什麼辦法讓一個人(I have the User ID and Screen Name).

這裏的鳴叫是我試過的代碼:

ConfigurationBuilder builder = new ConfigurationBuilder(); 
builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); 

User user; 
AccessToken accessToken = new AccessToken(TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET); 
Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken); 

List<twitter4j.Status> statusList = new ArrayList<>(); 
Query query = new Query("%23tarak9999"); 
query.setCount(20); 

QueryResult result = twitter.search(query); 
statusList = result.getTweets(); 

謝謝

回答

1

下面是一個例子活動設立UserTimeline:

import com.twitter.sdk.android.tweetui.TweetTimelineListAdapter; 
import com.twitter.sdk.android.tweetui.UserTimeline; 
public class TimelineActivity extends ListActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.timeline); 
TwitterConfig config = new TwitterConfig.Builder(this) 
     .twitterAuthConfig(new 
TwitterAuthConfig(TWITTER_CONSUMER_KEY, 
TWITTER_CONSUMER_SECRET)).build(); 
Twitter.initialize(config); 
final UserTimeline userTimeline = new UserTimeline.Builder() 
     .screenName("twitterdev") 
     .build(); 
final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this) 
     .setTimeline(userTimeline) 
     .build(); 
setListAdapter(adapter); 
} 
} 

和相應的XML佈局時間ine.xml,示出沒有爲了清楚資源引用的屬性值:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<TextView android:id="@id/android:empty" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:gravity="center_horizontal|center_vertical" 
      android:text="No Tweets"/> 
<ListView android:id="@id/android:list" 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1" 
      android:divider="#e1e8ed" 
      android:dividerHeight="1dp" 
      android:drawSelectorOnTop="false"/ 
</LinearLayout> 
+0

添加與您的屏幕名稱 –

+0

更換屏幕名'使用的getInstance前必須初始化微博() '這是我在實現你的答案後得到的錯誤。以上答案需要進行任何修改? –

+0

使用前必須初始化twitter。我給你的答案是閱讀特定用戶的推文。假設你已經初始化了twiiter sdk。我會更新我的答案。 Plz使用上面更新的代碼。 –

1

通過Malik Ahsan上述答案是引發錯誤

RunTimeError: Must initialize Twitter before using getInstance()

添加以下行來解決這個問題:

TwitterConfig config = new TwitterConfig.Builder(this) 
      .twitterAuthConfig(new TwitterAuthConfig(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET)).build(); 
Twitter.initialize(config); 

以上線以上

UserTimeline userTimeline = new UserTimeline.Builder().screenName("SCREEN_NAME").build();