FabricでTweetする時に分からなかったこと(Android)

せっかっくの休みなので、何かしようかと思い立ち、Android Studioを使ってTweetするアプリを作ってみた。

ほとんど↓の通りで良かったのだけど、肝心の投稿の部分がうまくいかなかった。

Android StudioとFabricでTweetする - Qiita

どうも、FabricのバージョンアップでStatusesServiceのupdateメソッドが変わってしまったらしい。適当にググってみても日本語のページが見つからず少し苦労した。最終的には↓を参考にして、適当にやったらうまくいったので備忘録としておく。

MediaService success to upload, but nothing show in the timeline - Twitter - Twitter Developers

レトロフィットRetrofitが必要なので、build.gradleに↓を追加して。

compile 'com.squareup.retrofit2:retrofit:2.1.0'

本体は↓の様に改変した。

    private void tweet(String message) {
        TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient();
        StatusesService statusesService = twitterApiClient.getStatusesService();

        Call<Tweet> call = statusesService.update(message, null, false, null, null, null, false, false, null);
        call.enqueue(new Callback<Tweet>() {
            @Override
            public void success(Result<Tweet> result) {
                Toast.makeText(getApplicationContext(), "post success", Toast.LENGTH_LONG).show();
            }

            public void failure(TwitterException exception) {
                Toast.makeText(getApplicationContext(), "post fail", Toast.LENGTH_LONG).show();
                Log.d(TAG, exception.toString());
            }
        });
    }