Abstract#
This sample application seems to provide various good functions such as real time tweet search and notification. They should be studied.Topics#
Target->[1]全般#
- サポート
このサンプルは、Twitter社の公式なものであるが、サポートをやめるというアナウンスが。。。[2] |
- スタート画面はどこだ?→TwitterSampleActivity.java
- Notification、Leaksってなんだ。
SampleApplication.javaでLeakCanary.install(this);って発見。どうもメモリリークを探すプログラムらしい。 |
認証#
- Oauth→TwitterCoreMainActivity.java
これはいつOauthしてるんだろう。GMAILの時のようにAndroidのAccoutManagerを使っているのか?TwitterAuthClientというのを使っているようだが。。 Twitter.initialize(this);はSampleApplication.javaで実行している。 |
app/twitter.propertiesを呼び出すのはいつ?gradleに記述されているように見える。ESSTが使っているkeyを確認したほうがいい。 |
Search Tweet#
いろいろとTweetを取りに行くのにも種類がある。 |
Oauthとはどういう関係か? |
- TimelineActivity
だれのTweetを持ってきているのか?なんかゲストユーザで#twitterでの検索範囲を表示しているように見える。もしかしてOauthしなくても取得できるTweetがあるのか? |
com.twitter.sdk.android.tweetuiパッケージのSearchTimelineクラスをどう使うかがキーっぽい。これは、最終的にはどこにライブラリがあるのか?->MAVENのレポジトリにちゃんとありそう。ってESSTですでに使っている。 |
listviewにTweetTimelineListAdapterをセットしているところまでわかるが、どこでTweetを検索しているんだろう。そうだscreenname変えてみよう。 |
サンプルアプリ動かしてもSearchTimelineは動いていないように見える。UserTimelineFragment.javaのUserTimelineクラスを調べよう。 |
- UserTimelineFragment
UserTimelineのBuilderのスクリーンネームをyurekuruにすると結構出てくる。これをESSTに適用したい。アダプターをセットしてから何をしたらいいかわからない。。。何をキックに探しに行くんだろう。Listに追加する動作はどう記述するのか? |
- StatusesService
StatusesServiceというインタフェースがある。この中で以下のGETコマンドが発信されている。 |
D/OkHttp: --> GET https://api.twitter.com/1.1/statuses/user_timeline.json?tweet_mode=extended&include_cards=true&cards_platform=TwitterKit-13&screen_name=nasa&count=30&trim_user=false&exclude_replies=true http/1.1
UserTimeline.createUserTimelineRequest()でgetStatusesService()が呼び出されている。このリクエストの帰りにTweetのリストがあるように見える。どこから呼ばれるのか?検索かけてもUserTimelineからしか呼ばれていないように見える。このcreateUserTimelineRequest()はprivateメソッド。 |
References#
- [#1]Twitter, Inc., 2018年5月あたり, Twitter Kit for Android, https://github.com/twitter/twitter-kit-android
- [#2]Neil Shah, 2018年10月30日, Discontinuing support for Twitter Kit SDK, https://blog.twitter.com/developer/en_us/topics/tools/2018/discontinuing-support-for-twitter-kit-sdk.html