2017-08-26 70 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();