【发布时间】:2015-01-27 05:03:24
【问题描述】:
我在我的 Android 应用中使用 Twitter 的 Fabric SDK。我需要获取 Twitter 用户的推文和状态消息。我找不到任何示例,并且文档对此也不是很清楚,因此我发布了一个新问题。有人可以提供一个如何使用TwitterApiClient 类的例子吗?
【问题讨论】:
标签: java android twitter twitter-fabric tweets
我在我的 Android 应用中使用 Twitter 的 Fabric SDK。我需要获取 Twitter 用户的推文和状态消息。我找不到任何示例,并且文档对此也不是很清楚,因此我发布了一个新问题。有人可以提供一个如何使用TwitterApiClient 类的例子吗?
【问题讨论】:
标签: java android twitter twitter-fabric tweets
Twitter Kit 能够进行 API 调用。官方文档在这里:https://dev.twitter.com/twitter-kit/android/api
一切从状态服务开始:
StatusService service = Twitter.getApiClient().getStatusesService()
Statuses 服务提供的一些方法(这些方法直接映射到 REST API 端点,包括参数。
service.homeTimeline();
service.lookup();
service.mentionsTimeline();
service.show();
做请求的机制和所有的服务都差不多,下面是Searching from Cannonball sample app code的例子:
final SearchService service = Twitter.getApiClient().getSearchService();
service.tweets(SEARCH_QUERY, null, null, null, SEARCH_RESULT_TYPE, SEARCH_COUNT, null, null,
maxId, true, new Callback<Search>() {
@Override
public void success(Result<Search> searchResult) {
Crashlytics.setLong(App.CRASHLYTICS_KEY_SEARCH_COUNT,
searchResult.data.searchMetadata.count);
setProgressBarIndeterminateVisibility(false);
final List<Tweet> tweets = searchResult.data.tweets;
adapter.getTweets().addAll(tweets);
adapter.notifyDataSetChanged();
if (tweets.size() > 0) {
maxId = tweets.get(tweets.size() - 1).id - 1;
} else {
endOfSearchResults = true;
}
flagLoading = false;
}
@Override
public void failure(TwitterException error) {
Crashlytics.logException(error);
setProgressBarIndeterminateVisibility(false);
Toast.makeText(PoemPopularActivity.this,
getResources().getString(R.string.toast_retrieve_tweets_error),
Toast.LENGTH_SHORT).show();
flagLoading = false;
}
}
);
【讨论】: