Я использую Fabric SDK от Twitter в своем приложении для Android. Мне нужно получить твиты и сообщения о статусе пользователя Twitter. Мне не удалось найти никаких примеров, и документация не очень ясна по этому поводу, поэтому я опубликовал новый вопрос. Может ли кто-нибудь привести пример использования класса TwitterApiClient
?
Выполнение вызовов REST API из приложения Android с использованием класса TwitterApiClient
Ответы (1)
Twitter Kit может выполнять вызовы API. Официальная документация находится здесь: https://dev.twitter.com/twitter-kit/android/api
Все начинается с Сервиса Статусов:
StatusService service = Twitter.getApiClient().getStatusesService()
Некоторые методы доступны в службе статусов (эти методы имеют прямое сопоставление с конечными точками REST API, включая параметры.
service.homeTimeline();
service.lookup();
service.mentionsTimeline();
service.show();
Механизм выполнения запроса аналогичен всем службам, вот пример поиска из Код примера приложения Cannonball:
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;
}
}
);
person
Cipriani
schedule
01.12.2014
Это работает. Однако знаем ли мы, как сделать так, чтобы приложение приостановилось, пока мы не получим данные обратно в блок обратного вызова?
- person AndrewSmiley; 28.06.2015