Android Studioでアプリ開発!

Androidアプリ開発初心者の備忘録です。

Androidアプリからブラウザを経由してTwitterに投稿する方法

Android アプリから簡単に Twitter につぶやきたい

Android アプリから Twitter に投稿したい場合があります。Twitter API を使うほど複雑な実装をせず、ただ単純につぶやきを投稿したい場合、ブラウザを経由する方法が最も簡単です。
以下にその方法を残しておきます。

完成イメージ

「つぶやく」ボタンを押すと、
f:id:jolene:20140808152534p:plain

ブラウザが起動し、つぶやきたい内容が入力されている状態です。
f:id:jolene:20140808152546p:plain

プログラムの実装

ボタンクリック関係の実装はボタンクリックイベントを取得する - Android Studioでアプリ開発!を参考にしてください。
「つぶやく」ボタンクリック時に tweeting() メソッドが呼ばれるとします。

private void tweeting() {
    String strTweet = "";
    String strMessage = "つぶやきテスト";
    String strHashTag = "#Android Studioでアプリ開発!";
    String strUrl = "http://androidstudio.hatenablog.com/";

    try {
        strTweet = "http://twitter.com/intent/tweet?text="
                + URLEncoder.encode(strMessage, "UTF-8")
                + "+"
                + URLEncoder.encode(strHashTag, "UTF-8")
                + "&url="
                + URLEncoder.encode(strUrl, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(strTweet));
    startActivity(intent);
}

基本的には Twitter 公式の URL である、

https://twitter.com/intent/tweet?text=【つぶやく内容】&url=【リンク先】

を Intent で渡すことにより実装することができます。
【】内は UTF-8 でエンコードする必要があります。"+" は半角スペースに置き換わります。

以上の実装で実行イメージのように動作します。

まとめ

Twitter 公式の URL を Intent で渡すことにより、Android アプリからブラウザを経由して Twitter に投稿することができました。
Twitter API ほど複雑なことはできませんが、その分実装は簡単です。

はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)

はじめてのAndroidアプリ開発―Android4対応版 (TECHNICAL MASTER)

Android StudioではじめるAndroidプログラミング入門

Android StudioではじめるAndroidプログラミング入門